移動端返回上一頁實現方法


一、問題描述:

  使用window.history.go(-1)或者window.history.back(-1)實現移動端返回上一頁功能,原生safair瀏覽器里存在問題(通過flex布局的上一張頁面滾動無效,只能顯示點擊前停留的那屏,無法通過觸摸滾動頁面)。存在於ios 9.3(13E233)和ios9.3.1(13E238)系統,ios9.3其它版本未發現該問題,ios安裝的其它瀏覽器不存在該問題,android也沒有該問題。

二、解決方案:

  ios原生瀏覽器(ios其它瀏覽器不存在這種情況)下通過document.referrer實現返回上一頁,部分手機的QQ內嵌瀏覽器使用document.referrer不能正常返回上一頁,android下通過referrer屬性實現時,當刷新頁面后返回前一頁失效,所以判斷移動端瀏覽器類型針對原生safair進行處理,具體代碼如下:

<a href="#" id="goBack" >返回</a>

var u = navigator.userAgent;
var goBack=document.getElementById("goBack");
//針對ios原生瀏覽器處理
if(!!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) && /(Safari)/i.test(u)){
    goBack.setAttribute("onclick","javascript:window.location=document.referrer;");
}

 



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM