微信內建瀏覽器點選「返回」關閉視窗

2022-05-04 06:18:06 字數 1302 閱讀 5617

客戶需求:從活動主頁返回時不顯示這個授權頁面(空白頁面),直接退出。

解決方案:(方案一為踩過的坑;方案二為放在前端處理的方案)

方案一:(不可行)

直接監聽需要關閉視窗的頁面的返回事件來關閉視窗。示例**:

1

pushhistory();

2 window.addeventlistener("popstate", function

(e) , false);5

function

pushhistory() ;

10 window.history.pushstate(state, "title", "#");

11 }

方案二:(可行)

在方案一的基礎上優化,加入session判斷當前頁面是否為需要關閉視窗的頁面。示例**:

1      sessionstorage.setitem('key', 1);

pushhistory();

2 window.addeventlistener("popstate", function

(e)

6if(sessionstorage.getitem('key') == 1) , false

); 8 weixinjsbridge.call('closewindow');

9 parent.weixinjsbridge.call('closewindow');//10}

1112 }, false

);13

function

pushhistory() ;

18 window.history.pushstate(state, "title", "#");

19 }

思路:將主頁面(需要關閉視窗的頁面)的key值設為1,子頁面(從主頁面跳轉到的其他頁面)的key值設為其他任意值,判斷key值是否為1,為1的時候點選返回再關閉視窗。(注意:每次進到主頁面的時候都要將key值重置為1。

因為session的生命週期是當前視窗,從其他頁面子頁面回到主頁面會改變key)

方案三:(替換方案)

在授權頁面加入活動方的宣傳廣告,避免空白。

方案四:(最優方案)

微信內建瀏覽器WeixinJSBridge的使用

分享給好友 分享到微博 隱藏下方工具欄 weixinjsbridge的分享函式function sendmessage 只要在需要進行分享的位置處,呼叫此函式,就可以完成分享功能。function sendmessage function res function sendmessage funct...

微信內建瀏覽器中如何實現點選電話號碼自動到撥號頁面

一般的web處理 1.一鍵撥號 馬上撥打 10086a 2.傳送簡訊功能 傳送簡訊a 3 移動web頁面自動探測 號碼 4.使用wtai協議進行撥打 個人覺得功能和a 標籤差不多,撥打10086 a 將10086儲存至 簿 一般建議採用這個方式。解決方法如下 1 撥號的 還是不變,和原先的一樣,2 ...

微信內建瀏覽器禁止快取的問題

解決方案1 除錯階段或者頻繁更新的頁面加入以下頭資訊 解決方案3 防止頁面被快取的方法,在url後面新增隨機引數,這樣每次訪問的都是不同的連線 window.location html?r math.random 終極方案 頁面動態引入js檔案 防止js檔案快取。var now new date v...