2015阿里校招前端在线题目[通俗易懂]

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116031.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java:JVM垃圾回收机制[通俗易懂]

    Java:JVM垃圾回收机制[通俗易懂]JVM垃圾回收机制提到Java垃圾回收机制就不得不提到一个方法:system.gc()用于调用垃圾收集器,在调用时垃圾收集器将运行以回收未使用的内存空间,它将尝试释放被丢弃对象所占用的空间。作为程序员有必要了解gc方法,这也是在面试中经常会被问及的问题:我们从三个方面来理解gc:1.JVM如何确定哪些空间能被回收?2.JVM会在什么时候进行垃圾清除的动作?3.JVM如何清除垃圾的?1.JVM如…

    2022年6月3日
    40
  • char类型「建议收藏」

    char类型「建议收藏」1、JAVA中,char占2字节,16位。可在存放汉字2、char赋值chara='a';//任意单个字符,加单引号。chara='中';//任意单个中文字,加单

    2022年8月2日
    6
  • SecureCRT的使用教程( 过程非常详细!!值得查看)

    SecureCRT的使用教程( 过程非常详细!!值得查看)SecureCRT的使用教程(过程非常详细!!值得查看)下载和安装简单的介绍一、SecureCRT的使用二、SecureFX的使用下载和安装SecureCRT和SecureFX的下载和安装我这里就不多说了,详细的安装下载教程请参考:SecureCRT的下载、安装(过程非常详细!!值得查看)简单的介绍SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是…

    2022年4月29日
    289
  • dpu芯片_三星放弃自研架构

    dpu芯片_三星放弃自研架构近日,专注于智能计算领域的DPU芯片和解决方案公司中科驭数发布了其下一代DPU芯片计划,将基于自研的KPU(KernelProcessingUnit)芯片架构,围绕网络协议处理、数据库和大数据处理加速、存储运算、安全加密运算等核心功能,推出新一代DPU芯片,赋能金融科技、数据中心、混合云及边缘计算等高带宽、低延迟、数据密集型的计算场景。DPU,是DataProcessingUnit的简称,是面向数据中心的专用处理器。据中科驭数创始人兼CEO鄢贵海介绍,”DPU是最新发展起来的专用处理器的一个大类

    2025年9月27日
    2
  • 小程序自定义tabbar的两种方式

    小程序自定义tabbar的两种方式小程序自定义tabbar先做一下效果展示吧本案例是按照官网来做的app.js代码:“tabBar”:{“custom”:true,“color”:“#000000”,“selectedColor”:“#000000”,“backgroundColor”:“#000000”,“borderStyle”:“white”,“list”:[{“pagePath”:…

    2025年7月30日
    3
  • mysql左连接 右连接 内连接的区别[通俗易懂]

    mysql左连接 右连接 内连接的区别[通俗易懂]1.内连接,显示两个表中有联系的所有数据;2.左链接,以左表为参照,显示所有数据,右表中没有则以null显示3.右链接,以右表为参照显示数据,,左表中没有则以null显示例子:————————————————-a表idnameb表idjobparent_…

    2022年6月1日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号