您现在的位置:首页 --> JavaScript --> IE6中a标签location.href失效解决方法
IE6中a标签location.href失效解决方法
浏览:3102次 出处信息
今天遇见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="###" 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从Nginx服务器下载图片不Cache的Bug (阅读:7843)
- window.location.href,window.location.replace(),window.location.reload() 三者的区别 (阅读:4214)
- IE6下position:absolute相邻元素margin-top失效的bug (阅读:3621)
- href,replace(),reload() 三者的区别 (阅读:3380)
- 让IE6支持min-width (阅读:3394)
- IE6下appendChild的一个小问题。 (阅读:2891)
- IE6浮动引起的一些BUG (阅读:2752)
- IE6下经典的请求abort问题 (阅读:2089)
- 这到底是谁之错? (阅读:2029)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
文章信息
- 作者:断桥残雪 来源: 断桥残雪部落格
- 标签: href IE6
- 发布时间:2011-07-22 00:01:37
建议继续学习
近3天十大热文
-
[899] WordPress插件开发 -- 在插件使用 -
[135] 解决 nginx 反向代理网页首尾出现神秘字 -
[56] 整理了一份招PHP高级工程师的面试题 -
[55] Innodb分表太多或者表分区太多,会导致内 -
[53] 如何保证一个程序在单台服务器上只有唯一实例( -
[52] 全站换域名时利用nginx和javascri -
[52] CloudSMS:免费匿名的云短信 -
[52] 海量小文件存储 -
[52] 用 Jquery 模拟 select -
[51] 分享一个JQUERY颜色选择插件
