javascript - 關(guān)于微信授權(quán)的問題。
問題描述
我現(xiàn)在有個列表頁面,當(dāng)列表頁面點(diǎn)擊商品進(jìn)入詳情頁后,開始做微信授權(quán),授權(quán)成功后重定向到當(dāng)前詳情頁。然后點(diǎn)擊微信的返回按鈕,返回的依舊是微信授權(quán)的官方頁面(如下圖所示)。然后又重定向到我的詳情頁,等于回不去列表頁了。請問有人能夠幫忙解答一下么?
問題解答
回答1:最近在做微信公眾號,也有微信授權(quán)的需求,不過,可能因?yàn)槲疫@邊是在一級頁面,進(jìn)入以后直接授權(quán),所以沒有暴露出你這個問題。這里提出點(diǎn)個人的見解,肯定有不足,敬請指正:首先:微信的返回按鈕,跟其瀏覽器的history是直接相關(guān)的,在我這邊是在一級頁面進(jìn)入以后直接授權(quán),然后用戶再直接點(diǎn)擊返回的話,是要達(dá)到“關(guān)閉頁面,顯示主菜單”的效果,嘗試過幾個方法,包括:
“監(jiān)聽返回事件”
window.addEventListener('popstate', function(){ //監(jiān)聽到后執(zhí)行的代碼},false);
“授權(quán)登錄后,使用history內(nèi)置方法”
window.history.go(-1);或window.history.back
但是都出現(xiàn)了很多情況,或是在微信WEB開發(fā)者工具起作用,但移動端不行;或是當(dāng)時可以,過兩天又失效。解決:最后,還是用了h5的新特性
//替換(用null模擬刪除)url記錄,實(shí)現(xiàn)返回一級頁面 直接關(guān)閉window.history.replaceState(null, null, toUrl);
等于是在瀏覽器歷史把登錄的界面記錄置空。你可以試試這個,也許對你有用、、、、
回答2:其實(shí)在微信里面,一切按需授權(quán)的都是流氓的;體驗(yàn)極差的。
相關(guān)文章:
1. PC 手機(jī)兼容的 編輯器2. html5和Flash對抗是什么情況?3. php如何獲取訪問者路由器的mac地址4. javascript - 在 vue里面用import引入js文件,結(jié)果為undefined5. python沒入門,請教一個問題6. 小程序怎么加外鏈,語句怎么寫!求救新手,開文檔沒發(fā)現(xiàn)7. git - 使用淘寶npm安裝hexo出現(xiàn)問題?8. javascript - vue-resource中如何設(shè)置全局的timeout?9. thinkPHP5中獲取數(shù)據(jù)庫數(shù)據(jù)后默認(rèn)選中下拉框的值,傳遞到后臺消失不見。有圖有代碼,希望有人幫忙10. 多選框?qū)戇M(jìn)數(shù)據(jù)庫怎么寫
