javascript - 關于微信授權的問題。
問題描述
我現在有個列表頁面,當列表頁面點擊商品進入詳情頁后,開始做微信授權,授權成功后重定向到當前詳情頁。然后點擊微信的返回按鈕,返回的依舊是微信授權的官方頁面(如下圖所示)。然后又重定向到我的詳情頁,等于回不去列表頁了。請問有人能夠幫忙解答一下么?
問題解答
回答1:最近在做微信公眾號,也有微信授權的需求,不過,可能因為我這邊是在一級頁面,進入以后直接授權,所以沒有暴露出你這個問題。這里提出點個人的見解,肯定有不足,敬請指正:首先:微信的返回按鈕,跟其瀏覽器的history是直接相關的,在我這邊是在一級頁面進入以后直接授權,然后用戶再直接點擊返回的話,是要達到“關閉頁面,顯示主菜單”的效果,嘗試過幾個方法,包括:
“監聽返回事件”
window.addEventListener('popstate', function(){ //監聽到后執行的代碼},false);
“授權登錄后,使用history內置方法”
window.history.go(-1);或window.history.back
但是都出現了很多情況,或是在微信WEB開發者工具起作用,但移動端不行;或是當時可以,過兩天又失效。解決:最后,還是用了h5的新特性
//替換(用null模擬刪除)url記錄,實現返回一級頁面 直接關閉window.history.replaceState(null, null, toUrl);
等于是在瀏覽器歷史把登錄的界面記錄置空。你可以試試這個,也許對你有用、、、、
回答2:其實在微信里面,一切按需授權的都是流氓的;體驗極差的。
相關文章:
1. mac OSX10.12.4 (16E195)下Mysql 5.7.18找不到配置文件my.cnf2. mysql - 怎么生成這個sql表?3. mysql儲存json錯誤4. php - 公眾號文章底部的小程序二維碼如何統計?5. mysql - 表名稱前綴到底有啥用?6. mysql - 數據庫表中,兩個表互為外鍵參考如何解決7. Navicat for mysql 中以json格式儲存的數據存在大量反斜杠,如何去除?8. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實現存在即更新應該使用哪個標簽?9. mysql - 數據庫建字段,默認值空和empty string有什么區別 11010. sql語句 - 如何在mysql中批量添加用戶?
