代码改变世界

天天小知识:JavaScript IE6 中 window.location.href 不能跳转

2011-12-15 17:19  薛凯凯圆滚滚  阅读(486)  评论(0编辑  收藏  举报

前几天在实现试客演示流程,使用Cookie记录值时使用了 window.location.href

但是测试人员在测试中提交有浏览器不兼容,IE6 IE7都不能跳转。

于是乎,以为检查之后发现是 window.location.href  不跳转,这是为何。

思考过后,应该是IE6-7在对这个属性赋值后,如果没有在事件处理后return false;的话 就只是给这属性赋值,不进行跳转。

return false;

 进行测试

<a href="javascript:;" onclick="javascript:goUrl('http://www.sina.com');">跳转1</a>

 

<a href="javascript:void(0);" onclick="javascript:goUrl('http://www.sina.com');">跳转2</a>

 

<a href="javascript:void(0);" onclick="javascript:goUrl('http://www.sina.com');return false;">跳转3</a>

 

<a href="#" onclick="javascript:goUrl('http://www.sina.com');">跳转4</a>

 

<a href="###" onclick="javascript:goUrl('http://www.sina.com');">跳转5</a>


测试环境IETester里的 IE6,IE7,跳转1和2在IE6环境下无效,3、4、5在IE6,IE7下测试均能 通过,。
跳转4和5最简洁。

关键在于<a>的href属性,空链接用"#","###"。
为了不返回网页顶端。
空链接推荐用"###"。

我采用了第三种方法,在后面加了return false;这样,IE6、IE7下面全部通过