js關閉當前頁面

高程三截圖

window.cloce()方法看似可以關閉打開的窗口,可是《高程三》已經(jīng)明確指出這個方法僅適用于通過window.open()打開的窗口

網(wǎng)上摘抄來這么一段代碼,通過userAgent檢測瀏覽器類型,然而這三種情況都是打開了空頁面??

var userAgent = navigator.userAgent;
if (userAgent.indexOf("Firefox") != -1 || userAgent.indexOf("Chrome") !=-1) {
    window.location.href="about:blank";   
}else if(userAgent.indexOf('Android') > -1 || userAgent.indexOf('Linux') > -1){
    window.opener=null;window.open('about:blank','_self','').close(); 
}else {
    window.pener = null;
    window.open("about:blank", "_self");
    window.close();
}

由于我最近在做支付,所以涉及到的就是微信、支付寶、百度錢包、京東、QQ等,在內(nèi)置瀏覽器中支付完成或者提示用戶錯誤信息之后關閉頁面,由于在微信、支付寶、百度錢包中,他們對頁面關閉進行了封裝,傳統(tǒng)的window.close()是無效的,必須要使用它們的js代碼才能關閉。

所以下面是三種關閉的方法(其他的暫時還沒有找到):

WeixinJSBridge.call('closeWindow');//微信 
AlipayJSBridge.call('closeWebview'); //支付寶 關閉窗口(別名)
AlipayJSBridge.call('exitApp'); // 支付寶 (退出當前H5應用)
AlipayJSBridge.call('popWindow',{  // 關閉窗口,可傳遞參數(shù)
    data: {
    }
});
BLightApp.closeWindow();//百度錢包

阿里的文檔
阿里文檔2
有時支付寶的關閉在安卓上面不是很好用,原因是當頁面加載完后會創(chuàng)建 AlipayJSBridge對象,同時會觸發(fā)AlipayJSBridgeReady事件,當執(zhí)行AlipayJSBridge.call('closeWebview')操作時,AlipayJSBridge還沒有創(chuàng)建,所以無法執(zhí)行。因此我們需要對AlipayJSBridgeReady事件進行監(jiān)聽。

document.addEventListener('AlipayJSBridgeReady',function(){
      AlipayJSBridge.call('closeWebview');
 })

通過瀏覽器的頭判斷是那種瀏覽器:

var ua = navigator.userAgent.toLowerCase(); 
if(ua.match(/MicroMessenger/i)=="micromessenger") { 
  alert("微信客戶端"); 
} else if(ua.indexOf("alipay")!=-1){ 
  alert("支付寶客戶端"); 
}else if(ua.indexOf("baidu")!=-1){ 
  alert("百度客戶端"); 
}

保存歷史記錄:

window.addEventListener("popstate", function(e) {
    var state = {
        title: "title",
        url: "#"
    };
    window.history.pushState(state, "title", "#");
}, false);

popstate 點擊后退按鈕觸發(fā)
history.pushState接收三個參數(shù):狀態(tài)對象、新狀態(tài)的標題、可選的相對URL;

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,034評論 25 709
  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 15,306評論 4 61
  • 你安靜的睡著了 我靠在窗欞上 在山的西邊 太陽頂著一張羞羞答答的臉 和心上人躲著貓貓 眼睛里的秋波 傳送著萬般的柔...
    黃梅梅閱讀 267評論 0 1
  • 1.前臺進程:即與用戶正在交互的Activity或者Activity用到的Service等,如果系統(tǒng)內(nèi)存不足時前臺...
    顏恒閱讀 1,245評論 0 1
  • 第一章 你喝咖啡,誰賺錢 答案是房東最賺錢 整章的關鍵詞:稀缺 心得:咖啡店的選址最重要,好的吸引力的位置有限,顧...
    快樂麥兜閱讀 352評論 0 0

友情鏈接更多精彩內(nèi)容