最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

IE中JS跳轉(zhuǎn)丟失referrer問題的2個解決方法

 更新時間:2014年07月18日 12:08:32   投稿:junjie  
這篇文章主要介紹了IE中JS跳轉(zhuǎn)丟失referrer問題的2個解決方法,算是IE的一個BUG吧,本文提供了2個方法解決這個問題,需要的朋友可以參考下

曾整理過一個各種頁面跳轉(zhuǎn)方法中referrer丟失的情況,其中提到,在IE中,使用類似 location.href = "a.html"這樣的方式跳轉(zhuǎn)頁面時,在目標頁面中 document.referrer的值會是空。這應(yīng)該是IE的一個 bug。

大多數(shù)情況下,這個問題不會給我們帶來麻煩,但有時候我們不得不用JavaScript來跳轉(zhuǎn),同時又要在下一個頁面收集 document.refer,這時就得想想其他辦法了。

Form GET方法

首先想到的是使用Form表單,用JS發(fā)起一個GET請求。代碼類似下面這樣:

復制代碼 代碼如下:

function goToPage(url) {
    if (isIE) {
        // IE瀏覽器
        var frm = document.createElement("form");
        frm.action = url;
        frm.method = "GET";
        document.body.appendChild(frm);
        frm.submit();
    } else {
        // 非IE
        location.href = url;
    }
}

這個方法可以如同預(yù)期地工作,目標頁面中 document.referrer能正常指向上一個頁面。

A元素模擬點擊方法

網(wǎng)上搜索了一下,發(fā)現(xiàn)司徒正美的博客上記錄了這個問題的另一個處理方法:

復制代碼 代碼如下:

//define for all browsers
function goto(url) {
    location.href = url;
}

//re-define for IE
if (isIE) {
    function goto(url) {
        var referLink = document.createElement('a');
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    }
}

原理很簡單,先創(chuàng)建了一個 A元素,指定其 href屬性為目標鏈接,然后再使用JS觸發(fā)它的點擊事件。經(jīng)測試,在目標頁面也能正常取到 document.referrer。

這個方法代碼更簡短一點,應(yīng)該比上面的使用 form表單的方案更好一些。

相關(guān)文章

  • Javascript實現(xiàn)快速排序(Quicksort)的算法詳解

    Javascript實現(xiàn)快速排序(Quicksort)的算法詳解

    排序算法(Sorting algorithm)是計算機科學最古老、最基本的課題之一,要想成為合格的程序員,就必須理解和掌握各種排序算法。
    2015-09-09
  • javascript中使用未定義變量或值的情況分析

    javascript中使用未定義變量或值的情況分析

    這篇文章主要介紹了javascript中使用未定義變量或值的情況,較為詳細的分析了javascript中使用未定義值的情況,需要的朋友可以參考下
    2016-07-07
  • js獲取圖片的base64編碼并壓縮

    js獲取圖片的base64編碼并壓縮

    這篇文章主要介紹了js獲取圖片的base64編碼并壓縮,幫助大家更好的理解和使用js,感興趣的朋友可以了解下
    2020-12-12
  • js Function類型

    js Function類型

    函數(shù)就是對象,而函數(shù)名是指向函數(shù)對象的指針,不會與某個函數(shù)綁定
    2011-12-12
  • JavaScript學習小結(jié)(7)之JS RegExp

    JavaScript學習小結(jié)(7)之JS RegExp

    在js中,正則表達式是由一個RegExp對象表示的,RegExp 是正則表達式的縮寫。RegExp簡單的模式可以是一個單獨的字符。更復雜的模式包括了更多的字符,并可用于解析、格式檢查、替換等等??梢允褂靡粋€RegExp()構(gòu)造函數(shù)來創(chuàng)建RegExp對象,也可以使用直接量語法
    2015-11-11
  • 用javascript 控制表格行的展開和隱藏的代碼

    用javascript 控制表格行的展開和隱藏的代碼

    用javascript 控制表格行的展開和隱藏的代碼...
    2007-08-08
  • 無間斷滾動marquee的詳細用法解析

    無間斷滾動marquee的詳細用法解析

    無間斷滾動marquee的詳細用法解析...
    2006-08-08
  • js 二進制流轉(zhuǎn)圖片的操作方法

    js 二進制流轉(zhuǎn)圖片的操作方法

    這篇文章主要介紹了js 二進制流轉(zhuǎn)圖片的操作方法,接收數(shù)據(jù)大家需要注意,如果后端的接口是get方法,可以直接使用img標簽,本文通過示例代碼講解的非常詳細,需要的朋友參考下吧
    2023-12-12
  • JavaScript中的字符串操作詳解

    JavaScript中的字符串操作詳解

    這篇文章介紹了JavaScript中的字符串操作,有需要的朋友可以參考一下
    2013-11-11
  • 前端強大的圖片預(yù)覽組件Viewer.js使用方法

    前端強大的圖片預(yù)覽組件Viewer.js使用方法

    這篇文章主要給大家介紹了關(guān)于前端強大的圖片預(yù)覽組件Viewer.js使用方法的相關(guān)資料,Viewer.js是一款強大的圖片查看器,雖然簡單且易上手,但是卻并不影響其在圖片查看方面的強大功能,同時這款優(yōu)秀的插件配置操作起來也非常的方便,需要的朋友可以參考下
    2024-01-01

最新評論

唐山市| 仪征市| 老河口市| 胶南市| 锦州市| 韩城市| 黑河市| 闽清县| 莱阳市| 德化县| 钟祥市| 吉隆县| 防城港市| 句容市| 基隆市| 彰化县| 黑龙江省| 皮山县| 德庆县| 石家庄市| 博乐市| 屯门区| 荃湾区| 海晏县| 卓尼县| 乌拉特中旗| 屏边| 阳原县| 阳泉市| 岳阳市| 体育| 平果县| 高尔夫| 宜昌市| 娄底市| 锦屏县| 西贡区| 永年县| 泰州市| 寿阳县| 光泽县|