国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

js中document.referrer實現移動端返回上一頁

2024-05-06 15:10:57
字體:
來源:轉載
供稿:網友

返回上一頁,在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>

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

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

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

document.referrer 的來源

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

document.referrer 的兼容性

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

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

var url = '//m.survivalescaperooms.com'; 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做法

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

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

if (typeof document.referrer === '') { // 沒有來源頁面信息的時候,改成首頁URL地址 $('.jsBack').attr('href', '/');}            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 恩施市| 城步| 临泽县| 临武县| 乌鲁木齐市| 福安市| 安吉县| 古蔺县| 榕江县| 博客| 高密市| 炎陵县| 武胜县| 沂南县| 西林县| 桐乡市| 剑河县| 客服| 望城县| 昌宁县| 饶河县| 广宗县| 聂拉木县| 西平县| 河西区| 建湖县| 威远县| 易门县| 会泽县| 高唐县| 宁海县| 永和县| 西华县| 娱乐| 湄潭县| 靖宇县| 克东县| 休宁县| 宜阳县| 文昌市| 临颍县|