gpt4 book ai didi

javascript - 在Android WebView中注入(inject)外部JS文件并调用

转载 作者:太空宇宙 更新时间:2023-11-03 13:05:35 25 4
gpt4 key购买 nike

我正在尝试将我的外部 JS 文件(包含在 assets 目录中)注入(inject) WebView 并在之后调用它。

这是我用来注入(inject)它的代码:

webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
webView.loadUrl("javascript: (function() { "
+ "var script=document.createElement('script');"
+ "script.type='text/javascript';script.src='file://android_asset/js_demo.js';"
+ "document.getElementsByTagName('head').item(0).appendChild(script);"
+ "})()");
webView.loadUrl("javascript: jsDemo()");
}
});

当我打印 WebView 的全部内容时,我可以看到带有 src='file://android_asset/js_demo.js' 的 script 标签 确实插入了,但是调用函数 jsDemo 什么都不做。

注意:函数 jsDemo 包含在 js_demo.js 中,并没有做任何巧妙的事情,只是改变了一些 span 的颜色。它工作正常,因为我在浏览器中对其进行了测试。

我确信我错误地提供了 js 文件的路径,但我不确定如何更改它以使其正常工作。任何帮助将不胜感激。

最佳答案

为什么不读入文件并直接通过loadUrl("javascript:...) 执行呢?

关于javascript - 在Android WebView中注入(inject)外部JS文件并调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5312836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com