IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

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

断桥残雪部落格 2011-07-22 00:01:37 累计浏览 3,595 次
本机暂存

今天遇见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尽快的退出历史舞台。

同分类推荐文章

  1. translateZ() (2026-06-25 21:18:56)
  2. translateY() (2026-06-25 21:17:56)
  3. translateX() (2026-06-25 21:16:01)

查看更多 前端 文章 →

建议继续学习

  1. JQuery实现Excel表格呈现 (累计阅读 48,350)
  2. 深入理解Javascript之执行上下文(Execution Context) (累计阅读 18,404)
  3. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,933)
  4. 图片动态局部毛玻璃模糊效果的实现 (累计阅读 14,849)
  5. 天朝第二代身份证号码的验证机制 (累计阅读 14,763)
  6. HTML 5 的data-* 自定义属性 (累计阅读 14,349)
  7. 分享一个JQUERY颜色选择插件 (累计阅读 14,223)
  8. 什么是全栈工程师? (累计阅读 14,038)
  9. 快速排序(Quicksort)的Javascript实现 (累计阅读 11,735)
  10. 7 天打造前端性能监控系统 (累计阅读 11,188)