使 JavascriptInterface 可跨 WebView 内的链接使用
Making a JavascriptInterface available across links inside a WebView
我有一个 WebView,它像浏览器一样用于显示和浏览我网站的不同页面。
WebView 在给定的 Activity 中仅加载一次,然后通过单击 WebView 中的链接加载其他内容。
这是我想要做的:
我想添加一个 JavascriptInterface 对象,每次我加载一个新的 URL。
我尝试将它添加到 onPageFinished 中,但它不起作用可能是因为一旦将 JavascriptInterface 注入页面,我们就需要重新加载页面。
我的问题:
我如何确保每次将页面加载到 WebView 时,都会有一个与之关联的对象(包含带有 @JavascriptInterface 注释的函数)可供我使用。
我为什么要这样做?
因为我正在设计一个可重用的 API 应用程序可以使用它来将多个网站加载到同一个 WebView 中。
在扩展布局(或手动创建 WebView)后,您只需为每个 WebView 实例注入一次对象,这通常发生在 activity 的 onCreate
方法中.然后注入的对象将在所有后续页面加载期间在此 WebView 中可用。
尝试从 onPageFinished
注入对象不是一个好主意。
我有一个 WebView,它像浏览器一样用于显示和浏览我网站的不同页面。
WebView 在给定的 Activity 中仅加载一次,然后通过单击 WebView 中的链接加载其他内容。
这是我想要做的:
我想添加一个 JavascriptInterface 对象,每次我加载一个新的 URL。
我尝试将它添加到 onPageFinished 中,但它不起作用可能是因为一旦将 JavascriptInterface 注入页面,我们就需要重新加载页面。
我的问题:
我如何确保每次将页面加载到 WebView 时,都会有一个与之关联的对象(包含带有 @JavascriptInterface 注释的函数)可供我使用。
我为什么要这样做?
因为我正在设计一个可重用的 API 应用程序可以使用它来将多个网站加载到同一个 WebView 中。
在扩展布局(或手动创建 WebView)后,您只需为每个 WebView 实例注入一次对象,这通常发生在 activity 的 onCreate
方法中.然后注入的对象将在所有后续页面加载期间在此 WebView 中可用。
尝试从 onPageFinished
注入对象不是一个好主意。