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-compose中volumes的問題2. golang - 用IDE看docker源碼時(shí)的小問題3. dockerfile - [docker build image失敗- npm install]4. angular.js - angular內(nèi)容過長展開收起效果5. Mac下mysql在控制面板中stop按鈕點(diǎn)了沒反應(yīng)6. 表單提交驗(yàn)證,沒反應(yīng),求老師指點(diǎn)7. mysql函數(shù)unix_timestamp如何處理1970.1.1以前的數(shù)據(jù)?8. node.js - 微信的自動(dòng)回復(fù)問題9. 老師,樣式?jīng)]有變呀?10. MySQL 什么需求下(情況下)才使用事務(wù)?

網(wǎng)公網(wǎng)安備