javascript - Webview Javascript 在 Android 7.0 及更高版本中不起作用

标签 javascript java android android-webview

我正在制作一个狗哨应用程序,使用 html5 来执行 javascript 和 jquery webview。

webview 加载得很好,但 Javascript 无法在我的 7.0 及更高版本的设备中执行。

对于 lollypop 5.0 和 5.5 设备,html 调用的 javascript 按预期工作。一切都正确编译。

在 7.0 之后,当按下按钮发出声音时,日志不会记录 html5 按钮点击的情况。

尽管我什至启用了互联网权限,但所有文件都从 Assets 本地加载。 7.0 是否有任何更改会阻止 javascript 工作?就像我之前说过的, Lollipop 中的一切都运行得很好。我该如何解决?

这是我的 WebView 中的一些代码: 已编辑:2019 年 11 月 20 日

       WebView webView = (WebView) this.findViewById(R.id.webView);
       WebSettings webSettings = webView.getSettings();
       webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
        if (Build.VERSION.SDK_INT > 17) { webSettings.setMediaPlaybackRequiresUserGesture(false); }
        String myurl="file:///android_asset/index.html";
        webSettings.setJavaScriptEnabled(true);
        webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
        webView.getSettings().setDomStorageEnabled(true);
        webView.setWebChromeClient(new WebChromeClient());
        webView.setWebViewClient(new WebViewClient());
        webSettings.setDefaultTextEncodingName("utf-8");
        webView.getSettings().setPluginState(WebSettings.PluginState.ON);
        webView.loadUrl(myurl);

最佳答案

尝试为您的浏览器添加 WebViewClientWebChromeClient

webview.setWebViewClient(new MyWebViewClient());
webview.setWebChromeClient(new MyWebChromeClient());

关于javascript - Webview Javascript 在 Android 7.0 及更高版本中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58897170/

相关文章:

javascript - CSS 悬停代码不起作用

java - 如何使用职位编号获取 IBM i 职位详细信息 - Java (JT400)

java - Cassandra 性能相对于两个应用程序主机是不同的

android - android.widget.TextView.checkForRelayout 期间出现 NullPointerException

javascript - AdSense 广告有时不展示

javascript - 在每个网站(书签)中更改 Dyslexic 的字体系列

android - 发布前报告警告详细信息在哪里

android - 通过webview或数据库在android中创建表?

javascript - 引用错误: event is not defined on addEventListener()

java - GlassFish 中的 "java.version"值比控制台上的值旧