如何在 Android Webview 中加载网页之前注入 javascript?

Posted

技术标签:

【中文标题】如何在 Android Webview 中加载网页之前注入 javascript?【英文标题】:How inject javascript before the web page loading in Android Webview? 【发布时间】:2014-07-18 09:53:46 【问题描述】:

真的需要有人帮帮我。

我试图在页面加载到 android webview 之前将 javascript 注入到网页中。

我搜索了很多,只找到了在页面已经加载后注入 javascript 的解决方案。像这样:http://lexandera.com/2009/01/injecting-javascript-into-a-webview/

其实我需要注入类似的东西:

document.onreadystatechange = function () 
 if (document.readyState == 'interactive') 
 
   do something to call Android exposed JavascriptInterface
 
;

我需要在页面加载之前注入这个,因为我需要在页面完全加载之前监听一些事件。例如:我需要知道页面何时准备好进行交互,以便我可以关闭进度条。 (我还在我的 Android 代码中通过 webview.addJavascriptInterface() 公开了一个 JavascriptInterface)

我想知道是否有办法在页面加载之前添加 javascript。并将我的 javascript 合并到该页面中。

类似:

webview.loadUrl("javascript:some javascript");
webview.loadUrl("www.google.com");

好像不行。

【问题讨论】:

你想监听的事件是在网页端还是原生端? 【参考方案1】:

创建两个活动文件而不是一个活动。在初始活动中加载您的 javascript 并根据结果导航到您可以在其中加载内容的第二个活动。

【讨论】:

你的意思是两个活动有两个网页视图?

以上是关于如何在 Android Webview 中加载网页之前注入 javascript?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Android Kotlin 在 WebView 中加载 URL?

Android-WebView中加载本地html的方法

在webview android中加载本地html文件

Android:如何在 WebView 中加载 html 字符串?

如何在 Android WebView 中加载本地图像

如何在android中的对话框中加载webview