现在的位置: 首页 > 综合 > 正文

关于IE6下 window.location.href 的跳转无效

2013年08月04日 ⁄ 综合 ⁄ 共 911字 ⁄ 字号 评论关闭

原文地址:http://www.imeetyou.net/article.asp?id=447

 

关于IE6下 window.location.href 的跳转无效
近日用到JS,发现在IE6下 window.location.href="";会出现跳转无效
当鼠标点击到相应的操作上时,没有反映,于是做了如下实验;
第一种方法,全部事件写入到相应的操作上。

<a href="javascript:void(0);" onclick="goUrl()">跳转1</a>
<a href="javascript:void(0);" onclick="goUrl(); return false;" >跳转2</a>
<a href="#" onclick="goUrl()" >跳转3</a>
<a href="###" onclick="goUrl()" >跳转4</a>

<script type="text/javascript">
function goUrl() {
     window.location.href="http://www.imeetyou.net";
}
</script>

如上,跳转1,IE6, 无法跳转,
跳转2、跳转3、跳转4均可以正常跳转;
注意,如果将2的 return false; 去掉,放入到 goUrl 中 也是无效的;

第二种,从DOM中获取要绑定事件的节点,绑定要执行的事件;

<a  href="javascript:void(0);" >跳转1</a>
<a  href="" >跳转2</a>
<a  href="#" >跳转3</a>
<a  href="###" >跳转4</a>

<script type="text/javascript">
var as = document.getElementsByTagName('a');
for (var i=0;i<as.length;i++) {
    as[i].onclick=function() {
          window.location.href="http://www.imeetyou.net";
         return false;
    }
}
</script>

可以看到,第二种绑定事件方式,对 a 上的 href 无要求。各浏览器下执行情况也良好

所以,首先推荐获取节点的事件绑定方式。

抱歉!评论已关闭.