【问题标题】:Making a JavascriptInterface available across links inside a WebView使 JavascriptInterface 在 WebView 内的链接中可用
【发布时间】:2015-07-07 10:13:33
【问题描述】:

我有一个 WebView,它像浏览器一样用于显示和浏览我网站的不同页面。

WebView 在给定的 Activity 中仅加载一次,然后通过单击 WebView 中的链接进行其他加载。

这是我想做的:

我想添加一个每次加载新 URL 时都可用的 JavascriptInterface 对象。

我尝试在 onPageFinished 中添加它,但它不起作用可能是因为一旦将 JavascriptInterface 注入页面后我们需要重新加载页面。

我的问题:

如何确保每次将页面加载到 WebView 中时都会有一个与之关联的对象(包含带有 @JavascriptInterface 注释的函数)可供我使用。

我为什么要这样做?

因为我正在设计一个可重用的 API,可供应用程序将多个网站加载到同一个 WebView 中。

【问题讨论】:

    标签: javascript java android android-webview


    【解决方案1】:

    您只需要为每个 WebView 实例注入一次对象,在您扩展布局(或手动创建 WebView)之后,通常发生在您的活动的 onCreate 方法中。然后在所有后续页面加载期间,注入的对象将在此 WebView 中可用。

    尝试从onPageFinished 注入对象不是一个好主意。

    【讨论】:

    • 感谢您的回复。我尝试了一些实验并弄明白了。
    猜你喜欢
    • 2014-04-18
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    相关资源
    最近更新 更多