【问题标题】:Android sdk 19 javascript is not workingAndroid sdk 19 javascript 不工作
【发布时间】:2014-10-08 17:34:33
【问题描述】:

我正在一个包含几个按钮的 android Webview 中加载一个网页:

按钮标签

还有一个javascript应该在你点击按钮时触发。

在 4.4 之前的 android 设备上一切正常。但在 4.4 上它什么也不做。

有没有办法解决这个问题并让它在 android 4.4 上也能正常工作?如果有,解决办法是什么?

这里是 webview 的代码

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);

}

这是我点击 web 视图中的按钮时将调用的 javascript

 {  window.open('<url which should be opened out of the app>');
 self.location = "<webviewredirecturl>";  }

【问题讨论】:

  • 4.4 引入了基于 Chromium 的新版 WebView。看看这个关于迁移到它的页面是否有帮助:developer.android.com/guide/webapps/migrating.html
  • 我也浏览了文档。它提到了一些关于“在 JavaScript 中处理触摸事件”的内容,但我想知道如果我无权修改页面内容,我该如何让它工作?
  • 该页面是否可以在 4.4 本机浏览器中使用?
  • 是的,它有效。现在它让我感到困惑。
  • 发布您的 webview 代码!

标签: javascript android webview android-4.4-kitkat


【解决方案1】:

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

就我而言,我将此 url 发送到我已经加载的页面 webview :

    javascript:showComment('Content html to add')

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

更多关于 kitkat her 变化的信息:

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

类似的帖子在这里: Loading javascript functions to webview in Android Kitkat

【讨论】:

    猜你喜欢
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多