JavaScript在IE6下超级链接window.location.href不跳转的bug 及 解决方案
2016-07-13 11:50
501 查看
今天遇到个很诡异的问题,就是<a href="javascript:void(0);" onclick="window.location.href=url"></a>在IE6下面没反应,不跳转到onclik事件中的“window.location.href”。
当时我们在网上找了篇文章很快就解决了,但是文章中没有说明具体原因在哪里,只是说在“window.location.href”后面加一个"return false",当时马上建了个test.html,试了下确实可以,而且试了之后还发现IE6下是被href="javascript:void(0)"覆盖了,这问题看上去很简单,但是为什么其他浏览器没有被覆盖,但对原因到底在哪里还是一头雾水。
IE6 页面跳转事件,必须返回false 或者 阻止默认事件,才能进行正常的页面跳转
试验如下:
另外,javascript:void(0);的意思是使整个页面不刷新。void方式不返回任何值,即返回undefined。
当时我们在网上找了篇文章很快就解决了,但是文章中没有说明具体原因在哪里,只是说在“window.location.href”后面加一个"return false",当时马上建了个test.html,试了下确实可以,而且试了之后还发现IE6下是被href="javascript:void(0)"覆盖了,这问题看上去很简单,但是为什么其他浏览器没有被覆盖,但对原因到底在哪里还是一头雾水。
IE6 页面跳转事件,必须返回false 或者 阻止默认事件,才能进行正常的页面跳转
试验如下:
2、<a href="javascript:void(0);" onclick="javascript:goUrl('http://www.baidu.com');">跳转2</a> 3、<a href="javascript:void(0);" onclick="javascript:goUrl('http://www.baidu.com');return false;">跳转3</a> 4、<a href="#" onclick="javascript:goUrl('http://www.baidu.com');">跳转4</a> 5、<a href="###" onclick="javascript:goUrl('http://www.baidu.com');">跳转5</a> 其中,3、4、5 在ie6下面都可以跳转。1,2不能跳转。 原因:使用return false 或者 框架(Ext jQuery)自带的禁用事件方法 来屏蔽默认事件。 注意:在jQuery事件中,要用 event.preventDefault(); 来阻止默认事件的: <a href="javascrpt:;" id="recommendGoodsAdd">添加推荐产品</a> // $("#recommendGoodsAdd").click(function(event){ window.location.href = "http://blog.snsgou.com/"; event.preventDefault(); }
另外,javascript:void(0);的意思是使整个页面不刷新。void方式不返回任何值,即返回undefined。
相关文章推荐
- js数据类型
- JavaScript中为空判断
- 【JS&Html】一些总结
- extjs插件
- JavaScript推荐资料合集(前端必看)
- js获取表单值的两种方法
- js中 认识DOM
- EL表达式详解
- JavaScript读取本地图片到浏览器
- jsp页面向action传值乱码的问题
- 由学习wc的extjs项目,想到的关于1学习一门编程语言 2extjs框架 3对所有框架的一个理解 4对事物真谛的理解
- html+css+js 动态时钟
- Javascript类型系统之undefined和null浅析
- SDP在pjsip中的应用
- javascript 正则匹配url并添加<a>标签
- JavaScript中RegExp.$1是什么意思
- JS基础随笔(菜鸟必看篇)
- 常用js语法小记
- javascript中字符串常用操作总结、JS字符串操作大全
- Modernizr.js入门指南,检查浏览器对Html5和Css3的语法支持