//返回上个页面 function back() { console.log("点击了后退"); //window.history.back(); //plus.webview.currentWebview().close(); if ((navigator.userAgent.indexOf('MSIE') >= 0) && (navigator.userAgent.indexOf('Opera') < 0)) { // IE if (history.length > 0) { window.history.go(-1); console.log("IE浏览器 点击了后退"); } else { console.log("IE浏览器 返回到源生"); window.open('baidu://backWebView'); } } else { //非IE浏览器 if (navigator.userAgent.indexOf('Firefox') >= 0 || navigator.userAgent.indexOf('Opera') >= 0 || navigator.userAgent.indexOf('Safari') >= 0 || navigator.userAgent.indexOf('Chrome') >= 0 || navigator.userAgent.indexOf('WebKit') >= 0) {
if (window.history.length > 1) { window.history.go(-1); console.log("非IE浏览器 点击了后退"); } else { window.open('baidu://backWebView'); console.log("非IE浏览器 返回到源生"); } } else { //未知的浏览器 window.history.go(-1); console.log("未知的浏览器 点击了后退"); } } }
其中window.open('baidu://backWebView');方法是和前端约定的标识,当前端webview拦截到baidu://backWebView时,关闭webview即可。 |