javascript - 从 android webview 触发 JavascriptInterface

标签 javascript java android webview

我按照说明从 WebView 触发 JavascriptInterface,但在我的情况下未触发。

我有一个包含以下内容的 QuickTextViewer 类:

    public class QuickTextViewer {
        private WebView webView;
    ...
    ...
        public QuickTextViewer(){
           webView = dialog.findViewById(R.id.mywebview);

           webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                 view.loadUrl("javascript:MyApp.resize(document.body.getBoundingClientRect().height)");
                super.onPageFinished(view, url);
            }
        }
@JavascriptInterface
    public void resize(final float height) {
        System.out.print(height);
    }

我还在 proguard-rules.pro 中添加了以下内容(实际上只公开用于测试)

-keepclassmembers class fqcn.of.javascript.interface.for.webview {
   public *;
}

在我的例子中 onPageFinished 被触发但 resize() 没有! 有什么建议/帮助吗?

最佳答案

现在发现问题了。 只需添加:

webView.getSettings().setJavaScriptEnabled(true);

关于javascript - 从 android webview 触发 JavascriptInterface,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56072935/

相关文章:

Java - 自动将所有空字符串设置为空字符串

android - 动态设置 React Native <Image/> 的 uri

java - 无法将“导出”识别为内部或外部命令,

javascript - 在 cloudfunction 中运行的 ffmpeg 静默失败/永远不会完成

javascript - (由设计更改修复)在响应式设计站点上使用 jQuery 计算高度以保持两列等高

javascript - 与 crossrider 侧面板插件通信

java - hadoop MaxTemperature示例在带有ubuntu 14.04的VMware上不起作用

android - 大小为 4 的 CursorIndexOutOfBoundsException 问题 :Index 4 requested,

android - 开始阻止服务中的对话框

javascript - 如果 React 组件库需要 React 作为对等依赖项,我该如何使用它来制作 Preact?