发现这一问题是在一次开发当中作了一个跳转在FF下面能正常跳转,最后将项目传到线上以后,测试的却告诉我在IE下面不能跳转,我开始还不相信,后来一测试,果然如此,通过最终的排除BUG,最后锁定了是HTTP_REFERER这个常量的问题。 javascript
见下图一: php
html代码为: html
<body> <a href="javascript:$.dianJi();void(0)" name='lj' >点击连接进行跳转</a> </body>js代码为:
<script type="text/javascript"> $(function(){ $.dianJi=function(){ location.href="http://localhost/20130426/action.php?action=check"; } }) </script>
action.php页面代码为: java
$action=$_GET['action']; echo $_SERVER ['HTTP_REFERER'];
见图二: app
可是,在IE下面却报错,见图三: 函数
形成这种状况的出现,估计是IE的BUG,那该怎么解决呢?咱们在跳转的以前想办法,从新作一个跳转的函数。 测试
下面是修改后的js代码:(html代码不作变更) url
$(function(){ $.myRedirect=function(url) { var theLink = ''; if (document.getElementById) { theLink = document.getElementById('redirect_link'); if (!theLink) { theLink = document.createElement('a'); theLink.style.display = 'none'; theLink.id = 'redirect_link'; document.body.appendChild(theLink); } if (url) theLink.href = url; } if ((theLink) && (theLink.click)) theLink.click(); else location.href = url; } $.dianJi=function(){ var url="http://localhost/20130426/action.php?action=check"; $.myRedirect(url); } })
运行结果见图四: spa
从图四能够发现,完美解决了以前的错误,并且在FF下面也照样正常运行。 code