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

js中document.referrer實現(xiàn)移動端返回上一頁

 更新時間:2017年02月22日 09:20:39   作者:禮拜16  
本文主要介紹了document.referrer實現(xiàn)移動端返回上一頁的方法,具有很好的參考價值,下面跟著小編一起來看下吧

返回上一頁,在PC端我們可以使用:history.go(-1)或者history.back(),可以正常返回第一層。這樣,我們不需要上一頁的 url 具體是什么,只要使用 history 一般都沒啥問題。

但是在移動端,如果想要返回上一頁。比如從A頁面跳到B頁面,如果B頁面想返回A頁面,為了防止不會跳錯,必須要有一個 <  按鈕,給它加 history.go(-1) ,返回上一層。

<a href="javascript:history.go(-1)" rel="external nofollow" class="header-back jsBack">返回</a>

那如果我們沒有返回上一頁的 < 的按鈕,在手機上怎么操作才會返回上一頁,比如:從微信分享進來的,進入的是微信內(nèi)頁,此時,內(nèi)頁就是第一頁,它沒有上一頁,要怎么返回?這時點返回按鈕是沒有反應(yīng)的,不是一個好的用戶體驗,十有八九的人會誤以為是BUG,這絕對是個坑爸的問題。

移動端無論是原生app還是傳統(tǒng)的網(wǎng)頁,返回上頁是一個比較強烈的需求。

javascript 有一個可以獲取前一頁面的URL地址的方法:document.referrer

document.referrer 的來源

  1. referrer 屬性可返回載入當前文檔的文檔的 URL【摘自W3CSHCOOL】, 如果當前文檔不是通過超鏈接訪問的,那么當前文檔的URL為NULL,這個屬性允許客戶端的 javascript 訪問 HTTP 頭部;
  2. referrer 屬性,我們可以從 http 頭部獲取

document.referrer 的兼容性

document.referrer IE7都支持,它的兼容性比較高,Android 5.0開始支持,iOS都支持,PC端瀏覽器從IE7就開始支持了,兼容性沒有什么大的問題。

但是有個小小的問題,就是 IE 會主動清除 referref 屬性。在IE中用javascript做跳轉(zhuǎn),比如用window.location.href = “”; google如果使用document.referrer無法取到瀏覽器請求的HTTP referrer,因為IE清空了。而其他主流瀏覽器Firefox和Chrome都會保留referrer,沒辦法,只好判斷,如果是IE瀏覽器,就主動給它增加一個 referrer 。這樣的原理就是給IE瀏覽器的頁面偷偷加了個鏈接,然后自動點這個鏈接,于是referrer就能保留了。

var url = 'http://www.fzitv.net'; 
if (/MSIE (\d+\.\d+);/.test(navigator.userAgent) || /MSIE(\d+\.\d+);/.test(navigator.userAgent)) 
{ 
 var referLink = document.createElement('a'); 
 referLink.href = url; 
 document.body.appendChild(referLink); 
 referLink.click(); 
} 
else 
{ 
 location.href = url; 
}

document.referrer 的牛X做法

解決移動端返回上一頁的問題,就是上面所說的微信分享的問題?根據(jù)【張鑫旭】大神的方法是,既然點擊上一頁沒有反應(yīng),就讓它返回首頁,從首頁再進入其它子頁面,應(yīng)該沒啥問題。

1.根據(jù) document.referrer 的來源來判斷是否有來源信息,如果沒有,則返回首頁:

if (typeof document.referrer === '') {
 // 沒有來源頁面信息的時候,改成首頁URL地址
 $('.jsBack').attr('href', '/');
}

這樣,當再次點擊返回按鈕時,就可以返回首頁了。

2.根據(jù) document.referrer 的來源url 是否為網(wǎng)站的 url,如果判斷這個 url 的來路有問題,則屏蔽該 url 下的所有信息,比如不讓其顯示圖片等??梢杂行У姆乐贡I鏈,目前百度統(tǒng)計,google ads統(tǒng)計,CNZZ統(tǒng)計,都是用的這個方法。

無法獲取 referrer 信息的情況

下面的場景無法獲得 referrer 信息,以下前8條屬于【張鑫旭】:

  1. 直接在瀏覽器中輸入地址
  2. 使用location.reload()刷新(location.href或者location.replace()刷新有信息)
  3. 在微信對話框中,點擊進入微信自身瀏覽器
  4. 掃碼進入微信或QQ的瀏覽器
  5. 直接新窗口打開一個頁面
  6. 從https的網(wǎng)站直接進入一個http協(xié)議的網(wǎng)站(Chrome下親測)
  7. a標簽設(shè)置rel="noreferrer"(兼容IE7+)
  8. meta標簽來控制不讓瀏覽器發(fā)送referer
  9. 點擊 flash 內(nèi)部鏈接
  10. Chrome4.0以下,IE 5.5+以下返回空的字符串
  11. 使用 修改 Location 進行頁面導航的方法,會導致在IE下丟失 referrer,這可能是IE的一個BUG
  12. 跨域

<meta content="never" name="referrer">

怎么解決無法獲取 referrer 的情況,還沒有很好的方法,盡量避免吧。

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • 前端微信支付js代碼

    前端微信支付js代碼

    這篇文章主要為大家詳細介紹了前端微信支付js代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • JavaScript實現(xiàn)商品評價五星好評

    JavaScript實現(xiàn)商品評價五星好評

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)商品評價五星好評,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 微信小程序?qū)崿F(xiàn)菜單左右聯(lián)動效果

    微信小程序?qū)崿F(xiàn)菜單左右聯(lián)動效果

    這篇文章主要為大家詳細介紹了微信小程序?qū)崿F(xiàn)菜單左右聯(lián)動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • js操作IE瀏覽器彈出瀏覽文件夾可以返回目錄路徑

    js操作IE瀏覽器彈出瀏覽文件夾可以返回目錄路徑

    這篇文章主要介紹了js操作IE瀏覽器彈出瀏覽文件夾并可以返回目錄路徑,需要的朋友可以參考下
    2014-07-07
  • JavaScript解構(gòu)賦值的5個常見場景與實例教程

    JavaScript解構(gòu)賦值的5個常見場景與實例教程

    解構(gòu)賦值是一種特殊的語法,它使我們可以將數(shù)組或?qū)ο蟆安鸢睘榈揭幌盗凶兞恐?因為有時候使用變量更加方便,下面這篇文章主要給大家介紹了關(guān)于JavaScript解構(gòu)賦值的5個常見場景與實例的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • JS函數(shù)參數(shù)的傳遞與同名參數(shù)實例分析

    JS函數(shù)參數(shù)的傳遞與同名參數(shù)實例分析

    這篇文章主要介紹了JS函數(shù)參數(shù)的傳遞與同名參數(shù),結(jié)合實例形式分析了JS函數(shù)參數(shù)的傳遞與同名參數(shù)相關(guān)原理、使用技巧與操作注意事項,需要的朋友可以參考下
    2020-03-03
  • Javascript-Mozilla和IE中的一個函數(shù)直接量的問題

    Javascript-Mozilla和IE中的一個函數(shù)直接量的問題

    Javascript-Mozilla和IE中的一個函數(shù)直接量的問題...
    2007-01-01
  • JavaScript中常用的五種數(shù)字千分位格式化方法

    JavaScript中常用的五種數(shù)字千分位格式化方法

    數(shù)字格式化是開發(fā)中經(jīng)常遇到的任務(wù),特別是在需要為數(shù)字添加千分位符或控制小數(shù)位數(shù)時,以下是幾種常用的數(shù)字格式化方法,每種方法有其優(yōu)缺點,適用于不同的需求場景,感興趣的小伙伴跟著小編一起來看看吧
    2024-12-12
  • JS自定義混合Mixin函數(shù)示例

    JS自定義混合Mixin函數(shù)示例

    這篇文章主要介紹了JS自定義混合Mixin函數(shù),涉及javascript面向?qū)ο蟪绦蛟O(shè)計中函數(shù)與屬性操作相關(guān)技巧,需要的朋友可以參考下
    2016-11-11
  • javascript動畫系列之模擬滾動條

    javascript動畫系列之模擬滾動條

    本文主要介紹了js動畫模擬滾動條的實現(xiàn)原理以及分享了通過滾動條實現(xiàn)的幾個應(yīng)用的實例代碼:1.通過移動滾動條來實現(xiàn)數(shù)字的加減;2.通過拖動滾動條來實現(xiàn)元素尺寸的變化,以改變元素寬度為例;3.通過拖動滾動條來實現(xiàn)內(nèi)容滾。需要的朋友一起來看下吧
    2016-12-12

最新評論

石渠县| 静海县| 奇台县| 班戈县| 五常市| 天门市| 柯坪县| 德清县| 泰安市| 镇原县| 靖边县| 昌江| 荆州市| 禄丰县| 泰兴市| 鹤山市| 遂昌县| 新疆| 台南县| 运城市| 和田县| 饶平县| 玉林市| 明水县| 长宁县| 蕲春县| 北票市| 瑞丽市| 祁东县| 安阳市| 和顺县| 卫辉市| 沾益县| 高青县| 宁海县| 五指山市| 东阳市| 怀化市| 孟连| 年辖:市辖区| 开平市|