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頁面 就閃了一下也就一秒;每次測(cè)試都這樣;我不明白為啥從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、對(duì)于已關(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. html5和Flash對(duì)抗是什么情況?2. html5 - datatables 加載不出來數(shù)據(jù)。3. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????4. 利用IPMI遠(yuǎn)程安裝centos報(bào)錯(cuò)!5. node.js - mongodb查找子對(duì)象的名稱為某個(gè)值的對(duì)象的方法6. 運(yùn)行python程序時(shí)出現(xiàn)“應(yīng)用程序發(fā)生異常”的內(nèi)存錯(cuò)誤?7. 測(cè)試自動(dòng)化html元素選擇器元素ID或DataAttribute [關(guān)閉]8. javascript - QQ第三方登錄的問題9. javascript - 在 model里定義的 引用表模型時(shí),model為undefined。10. spring-mvc - spring-session-redis HttpSessionListener失效

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