IE6中a标签location.href失效解决方法

IE6中a标签location.href失效解决方法,第1张

概述今天遇见IE6一个location.href的bug,具体情况是这样的,IE6下,在a标签中,将href写成javascript:;javascript:void(0);,并且给这个标签绑定onclick事件,点击后,执行location.href实现页面跳转,例如下面的代码:<a href="javascitp:;" onclick="toURL()">点击…

今天遇见ie6一个location.href的BUG,具体情况是这样的,ie6下,在a标签中,将href写成JavaScript:;JavaScript:voID(0);,并且给这个标签绑定onclick事件,点击后,执行location.href实现页面跳转,例如下面的代码:

<a href="javascitp:;" onclick="toURL()">点击跳转</a>

或者

<a href="javascitp:voID(0);" onclick="toURL()">点击跳转</a>

toURL函数的代码如下所示:

function toURL(){	location.href = "http://Js8.in";}

这样在非ie6浏览器下都可以使用,但是在ie6下就是跳转不了,而且不报错,在location.href之后的代码,例如(alert(1);)也是执行的。

ie6下location.href失效解决的方法

解决ie6中a标签中location.href失效的方式就是a标签中的href不用使用JavaScript:;或JavaScript:voID(0);。具体原因还不清楚,不过我们可以使用href=”#”来代替。

例如下面的代码在ie6中是正常的:

<a href=http://www.Js8.in/"###" onclick="toURL()">正常的跳转</a>

还有一种方式就是,在toURL函数里面将a标签的href通过setAttribute设置为“#”,然后再使用location.href跳转也是可以的。

另外可以通过获取DOM节点,然后绑定onclick事件的方式,也是可以解决上面的问题的,例如下面的代码:

var as = document.getElementsByTagname('a');for (var i=0;i<as.length;i++) {    as[i].onclick=function() {          window.location.href="http://www.Js8.in";         return false;    }}
写在最后

ie6——前端的噩梦还在继续。
对于ie6真的不想说什么了,本小站已经不在支持ie6了,希望ie6尽快的退出历史舞台。


总结

以上是内存溢出为你收集整理的IE6中a标签location.href失效解决方法全部内容,希望文章能够帮你解决IE6中a标签location.href失效解决方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1022755.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存