Cordova - 尝试在webview中执行一个功能

时间:2015-07-16 23:08:17

标签: android jquery cordova webview inappbrowser

我的网站上有一个webview,在我的应用程序中运行良好。我现在要做的就是询问用户何时按下Android后退按钮,如果他们真的想离开应用程序。 我正在使用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

知道我能做些什么才能让它发挥作用?谢谢!

1 个答案:

答案 0 :(得分:0)

我假设您的问题是在webview加载后没有触发后退按钮事件。这是在webview中使用in-appbrowser插件时的常见问题。它加载页面,但我们失去了对页面的控制权。使用以下插件     对于webView,https://github.com/Wizcorp/phonegap-plugin-wizViewManager/。它在您的phonegap应用程序中创建自定义webview,您仍然可以控制后退按钮,还可以定义webView的大小