Android sdk 19 javascript无效

时间:2014-04-08 09:40:52

标签: javascript android webview android-4.4-kitkat

我在Android Webview中加载一个网页,其中包含几个按钮:

< button id =“ID”class =“class”type =“submit”> button lable< /按钮>

当你点击按钮时,也会有一个javascript被触发。

在Android早于4.4的设备上,一切正常。但在4.4上它什么也没做。

有没有办法解决这个问题并让它在android 4.4上运行?如果是的话,解决方案是什么?

这是webview cod

private void init() {
    webview = (WebView) getView().findViewById(R.id.webview);
    webview.clearCache(true);
    webview.setWebViewClient(new WebViewClient() {

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            currentUrl = url;
            super.onPageStarted(view, url, favicon);
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);

        }

        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {

        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

            return true;
        }

        @Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
            handler.proceed();
        }

    });
    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl(startUrl);

}

如果我点击webview中的按钮

,这将是调用的javascript
 {  window.open('<url which should be opened out of the app>');
 self.location = "<webviewredirecturl>";  }

1 个答案:

答案 0 :(得分:0)

根据我的测试,当你的项目目标是kitkat时,loadUrl方法行为会发生变化。 它不是能够在当前页面上执行加载,而是系统地使用您的url参数打开一个新页面。

对于我的情况,我将此网址发送到我已加载的网页webview:

    javascript:showComment('Content html to add')

使用目标API 18,一切正常,目标API 19,错误。

有关使用kitkat她的更改的更多信息:

http://www.mobilexweb.com/blog/android-4-4-kitkat-browser-chrome-webview

此处类似的帖子: Loading javascript functions to webview in Android Kitkat