打包H5+app說明 以及連續點擊退出應用

// 這裏可以調用5+ API了,爲了更好的兼容性,應該使用以下代碼進行判斷  
document.addEventListener('plusready',function () {
	var webview = plus.webview.currentWebview();
	plus.key.addEventListener('backbutton', function() {
		webview.canBack(function(e) {
			if (e.canBack) {
					 webview.back();
			} else {
				 webview.close();//hide,quit
			}
		})
	});
	
}, false)

document.addEventListener('plusready', function() {  
	var first = null;  
	var webview = plus.webview.currentWebview();  
	plus.key.addEventListener('backbutton', function() {  
		webview.canBack(function(e) {  
			if (e.canBack) {  
				webview.back(); //這裏不建議修改自己跳轉的路徑  
			} else {  
				//首次按鍵,提示‘再按一次退出應用’  
				if (!first) {  
					first = new Date().getTime(); //獲取第一次點擊的時間戳  
					// console.log('再按一次退出應用');//用自定義toast提示最好  
					// toast('雙擊返回鍵退出應用'); //調用自己寫的吐絲提示 函數  
					plus.nativeUI.toast("再按一次退出應用", {  
						duration: 'short'  
					}); //通過H5+ API 調用Android 上的toast 提示框  
					setTimeout(function() {  
						first = null;  
					}, 1000);  
				} else {  
					if (new Date().getTime() - first < 1000) { //獲取第二次點擊的時間戳, 兩次之差 小於 1000ms 說明1s點擊了兩次,  
						plus.runtime.quit(); //退出應用  
					}  
				}  
			}  
		})  
	}); 
	// window.location.href ="http://122.224.121.35:8895";
});

var plusReady = function (callback) {
    if (window.plus) {  
        callback();  
    } else {  
        document.addEventListener('plusready', callback);  
    }
}; 

plusReady(function () {  
    var firstBack = 0;  
    var handleBack = function () {  
        var currentWebview = plus.webview.currentWebview();  
        var topWebview = plus.webview.getTopWebview();  
        var now = Date.now || function () {  
            return new Date().getTime();  
        };  

        currentWebview.canBack(function (evt) {  
            /**  
             * 有可後退的歷史記錄,則後退。  
             * 否則,關閉當前窗口。  
             * 如果當前窗口是入口頁,那麼執行退出的邏輯。  
             */  
            if (currentWebview.id === plus.runtime.appid) {  
                if (!firstBack) {  
                    firstBack = now();  
                    plus.nativeUI.toast('再按一次退出應用');  

                    setTimeout(function () {  
                        firstBack = 0;  
                    }, 2000);  
                } else if (now() - firstBack < 2000) {  
                    plus.runtime.quit();  
                }  
            } else {  
                if (evt.canBack) {  
                    history.back();  
                } else {  
                    currentWebview.close('auto');  
                }  
            }  
        });  
    };  

    plus.key.addEventListener('backbutton', handleBack);
	plus.webview.open("http://122.224.121.35:8895")
	// window.open("http://122.224.121.35:8895");
	// plus.webview.prefetchURL("http://122.224.121.35:8895")
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章