發現這一問題是在一次開發當中作了一個跳轉在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