2015阿里校招前端在线题目

5.淘宝首页需要实现这样一个功能,对于页面上非taobao.com域名下的链接,在用户点击时,需要在链接处弹出提示框,提示用户此链接非淘宝域名下的链接,并给与用户选择是否继续访问。如果用户确认继续访问,则在新窗口打开链接。请写出相应的代码。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<a href="http://www.taobao.com">taobao.com</a>
		<a href="http://www.taobao.com">taobao.com</a>
		<a href="http://www.sina.com">www.sina.com</a>
		<script type="text/javascript">
		(function(){
			var hrefs = document.getElementsByTagName("a");
			for(var i = 0, len = hrefs.length; i<len; i++){
					var href = hrefs[i].getAttribute("href");
					hrefs[i].onclick = function(href){
						return function(){
							var reg = new RegExp("http://www.taobao.com");
							if(reg.exec(href)){
								return true;
							}else{
								return window.confirm(href + "非本地站点,是否继续?");
							}
						}
					}(href);
			}
		})();
		</script>
	</body>
</html>

另一种方法,对事件进行处理。这样做的好处是避免了对每一个a标签进行逐个绑定,节省了时间开销,另外代码更简洁。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<a href="http://www.taobao.com">taobao.com</a>
		<a href="http://www.taobao.com">taobao.com</a>
		<a href="http://www.sina.com">www.sina.com</a>
		<script type="text/javascript">
		(function(){
			var b=document.body;
			var reg=new RegExp("http://www.taobao.com");
			function doClick(event){
				if(event.target.tagName=='A'){
					event.preventDefault();   //阻止a标签的默认行为即跳转
					var href = event.target.href;
					if(reg.exec(href)){
						location.href=href;
					}else{
						if(window.confirm(href + "非本地站点,是否继续?")){
							location.href=href;
						}
					}
				}
			}
			b.οnclick=doClick;
		})();
		</script>
	</body>
</html>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值