javascript - 關(guān)于微信授權(quán)的問(wèn)題。
問(wèn)題描述
我現(xiàn)在有個(gè)列表頁(yè)面,當(dāng)列表頁(yè)面點(diǎn)擊商品進(jìn)入詳情頁(yè)后,開(kāi)始做微信授權(quán),授權(quán)成功后重定向到當(dāng)前詳情頁(yè)。然后點(diǎn)擊微信的返回按鈕,返回的依舊是微信授權(quán)的官方頁(yè)面(如下圖所示)。然后又重定向到我的詳情頁(yè),等于回不去列表頁(yè)了。請(qǐng)問(wèn)有人能夠幫忙解答一下么?
問(wèn)題解答
回答1:最近在做微信公眾號(hào),也有微信授權(quán)的需求,不過(guò),可能因?yàn)槲疫@邊是在一級(jí)頁(yè)面,進(jìn)入以后直接授權(quán),所以沒(méi)有暴露出你這個(gè)問(wèn)題。這里提出點(diǎn)個(gè)人的見(jiàn)解,肯定有不足,敬請(qǐng)指正:首先:微信的返回按鈕,跟其瀏覽器的history是直接相關(guān)的,在我這邊是在一級(jí)頁(yè)面進(jìn)入以后直接授權(quán),然后用戶(hù)再直接點(diǎn)擊返回的話,是要達(dá)到“關(guān)閉頁(yè)面,顯示主菜單”的效果,嘗試過(guò)幾個(gè)方法,包括:
“監(jiān)聽(tīng)返回事件”
window.addEventListener('popstate', function(){ //監(jiān)聽(tīng)到后執(zhí)行的代碼},false);
“授權(quán)登錄后,使用history內(nèi)置方法”
window.history.go(-1);或window.history.back
但是都出現(xiàn)了很多情況,或是在微信WEB開(kāi)發(fā)者工具起作用,但移動(dòng)端不行;或是當(dāng)時(shí)可以,過(guò)兩天又失效。解決:最后,還是用了h5的新特性
//替換(用null模擬刪除)url記錄,實(shí)現(xiàn)返回一級(jí)頁(yè)面 直接關(guān)閉window.history.replaceState(null, null, toUrl);
等于是在瀏覽器歷史把登錄的界面記錄置空。你可以試試這個(gè),也許對(duì)你有用、、、、
回答2:其實(shí)在微信里面,一切按需授權(quán)的都是流氓的;體驗(yàn)極差的。
相關(guān)文章:
1. mysql - 這種分級(jí)一對(duì)多,且分級(jí)不平衡的模型該怎么設(shè)計(jì)表?2. javascript - vue-cli npm run build編譯報(bào)錯(cuò)3. python - Scrapy ItemLoader數(shù)據(jù)清洗疑問(wèn)4. PHP類(lèi)屬性聲明?5. javascript - Object.define 可以監(jiān)聽(tīng)object變化,那基本類(lèi)型變量如何監(jiān)聽(tīng)6. css - div外層有一圈白色7. atom開(kāi)始輸入!然后按tab只有空格出現(xiàn)沒(méi)有html格式出現(xiàn)8. javascript - js setTimeout在雙重for循環(huán)中如何使用?9. python - pip install出現(xiàn)下面圖中的報(bào)錯(cuò) 什么原因?10. javascript - vue 2.0 :key的作用
