【发布时间】:2015-07-16 23:08:17
【问题描述】:
我的网站上有一个 webview 在我的应用程序中运行良好。我现在要做的是在用户点击 Android Back 按钮时询问他们是否真的想离开应用程序。 我正在使用 InAppBrowser 插件。这是我的代码。
document.addEventListener("deviceready", onDeviceReady, false);
// Cordova is ready
function onDeviceReady() {
navigator.splashscreen.show();
var ref = window.open("http://m.estadao.com.br", "_self", "location=no");
ref.addEventListener('loadstop', function(){
ref.executeScript({
code:
document.addEventListener("backbutton", onBackKeyDown, false);
function onBackKeyDown() {
navigator.notification.confirm(
"Tem certeza que deseja sair?",
function(buttonIndex){
confirmExit(buttonIndex);
},
"Aviso",
"Ok, Cancel"
);
}
function confirmExit(stat){
if (stat == "1"){
navigator.app.exitApp();
} else {
window.open("http://m.estadao.com.br", "_self", "location=no", "zoom=no");
}
};
});
});
}
这是插件的链接 http://cordova.apache.org/docs/en/2.7.0/cordova_inappbrowser_inappbrowser.md.html#executeScript
知道我该怎么做才能让它工作吗?谢谢!
【问题讨论】:
-
你能说得清楚一点吗?你到底想做什么?您在使用应用内浏览器或后退按钮时遇到问题吗?
-
我在使用应用内浏览器时遇到问题。我正在尝试在我的 webview 中注入一些 javascript。
-
@ShinyJos 经过一些调试后,我很确定我的脚本可以正常工作。真正的问题是 InAppBrowser 看起来不接受多行代码。我尝试使用“文件:”而不是“代码:”,但它也不起作用。
-
Inapp-browser 无法让我们返回应用,除非外部事件关闭了应用内浏览器。这就是为什么您的代码会这样。我遇到了同样的问题,并使用了上述 webView 的替代解决方案
标签: android jquery cordova webview inappbrowser