加载页面时,运行一些JavaScript,例如:
mWebView.loadUrl("javascript:document.getElementsByClassName('footer')[0].style.display = 'none';");
检测何时加载页面以使此JavaScript工作是棘手的.最可靠的方法是在HTML中触发onload事件时安装一个回调Java的JavaScript Interface.在第一次调用WebView.loadUrl之前,您希望在Java中使用类似的东西:
mWebView.addJavascriptInterface(new Object() {
@JavascriptInterface
public void onload() {
// This is executed on a background thread, so post back to UI thread.
mWebView.post(new Runnable() {
@Override
public void run() {
mWebView.loadUrl("javascript:...");
}
});
}
}, "android");
然后在你的HTML中:
希望这可以帮助.
这篇博客探讨了如何在WebView加载页面时执行JavaScript代码,并确保它们在页面完全加载后正确运行。作者建议在HTML的onload事件中设置回调以调用Java的JavaScriptInterface。在Java中,创建一个JavaScriptInterface并在页面加载后执行JavaScript操作。这种方法能够确保JavaScript代码在正确的时机执行。

被折叠的 条评论
为什么被折叠?



