javascript - 微信 H5 授權(quán) 返回鍵
問題描述
需求是這樣:
1. 微信公眾號(hào)點(diǎn)擊菜單進(jìn)入a頁面,a頁面需要獲取用戶昵稱和頭像(因此需要授權(quán));2.從a 頁面跳到 b1,b2,b3.....頁面;3.當(dāng)在 a頁面時(shí) ios手機(jī)點(diǎn)擊左上角 “返回” 或者 其它手機(jī)物理返回鍵時(shí) 要求返回到微 信公眾號(hào);
但是現(xiàn)在 不做處理的時(shí)候 點(diǎn)一下返回只能返回到 微信授權(quán) 頁面,然后果幾秒,會(huì)跳轉(zhuǎn)到a頁面;也很有可能出錯(cuò)。然后我就相伴處理在 a 頁面添加代碼:以下代碼:
history.pushState(’x-back’, null);function onPopState (event) {WeixinJSBridge.call(’closeWindow’);};window.addEventListener(’popstate’, onPopState);
但是仍然會(huì)有問題:
安卓手機(jī)問題解決;ios碰到的問題是:從a 跳到b1 ...頁面;在b1 頁面ios 點(diǎn)左上角返回菜單時(shí) a頁面會(huì)閃一下;直接退出到公眾號(hào)里面了,相當(dāng)于跳過a頁面;a頁面 就閃了一下也就一秒;每次測試都這樣;我不明白為啥從b返回到a 會(huì)觸發(fā)a頁面的 監(jiān)聽 返回鍵的函數(shù)。。。。
問題解答
回答1:var isPageHide = false;window.addEventListener('pageshow', function() { if(isPageHide) { window.WeixinJSBridge.call('closeWindow'); //window.location.reload();//自己重新刷新,這一步相當(dāng)于模擬了跳轉(zhuǎn) }});window.addEventListener('pagehide', function() { isPageHide = true;});
回答2:求 解答啊。。。。。
回答3:微信開發(fā)文檔里面提到2、對于已關(guān)注公眾號(hào)的用戶,如果用戶從公眾號(hào)的會(huì)話或者自定義菜單進(jìn)入本公眾號(hào)的網(wǎng)頁授權(quán)頁,即使是scope為snsapi_userinfo,也是靜默授權(quán),用戶無感知。
如果用戶已關(guān)注公眾號(hào)或者自定義菜單進(jìn)入本公眾號(hào)的網(wǎng)頁授權(quán)頁的話,是靜默授權(quán),不會(huì)出現(xiàn)微信授權(quán)的啊。
相關(guān)文章:
1. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?2. javascript - Web微信聊天輸入框解決方案3. 請教各位大佬,瀏覽器點(diǎn) 提交實(shí)例為什么沒有反應(yīng)4. javascript - avalon使用:duplex設(shè)置select默認(rèn)option的bug5. Matlab和Python編程相似嗎,有兩種都學(xué)過的人可以說說嗎6. docker - 如何修改運(yùn)行中容器的配置7. css - 對于類選擇器使用的問題8. javascript - 音頻加載問題9. 網(wǎng)頁爬蟲 - 用Python3的requests庫模擬登陸B(tài)ilibili總是提示驗(yàn)證碼錯(cuò)誤怎么辦?10. javascript - 移動(dòng)端textarea不能上下滑動(dòng),該怎么解決?
