2015阿里校招前端在线题目

来源:互联网 发布:linux查看elf文件 编辑:程序博客网 时间:2024/06/04 10:46

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.onclick=doClick;})();</script></body></html>



0 0