安卓WebView加载本地JavaScript

13

我正在尝试通过在Webview中加载的html文件来加载存储在设备上的javascript文件,但似乎永远无法加载。我已尝试使用像在html中通常使用的直接url,并且还尝试了:

<script type="text/javascript" src="file:///android_asset/www/js/jsfile.js"/>

Webview设置已启用JavaScript,并且如果我将其放在服务器上,则可以正常工作。

感谢任何能够帮助的人。

2个回答

15

你应该直接调用JavaScript文件,因为你是在浏览器中调用它,而浏览器将asset文件夹视为其根文件夹。当从Java代码中调用时,应使用“file:///”前缀。尝试像这样:

<script type="text/javascript" src="www/js/jsfile.js"/>

0

你可以使用loadDataWithBaseURL

将所有的JavaScript放在一个名为assets的文件夹下,并在HTML中的脚本标签中相对于assets目录给出js文件路径。不要在src的开头加上斜杠。

将HTML读入字符串(htmlStr),然后按照下面所述的方式在Webview中加载它。

webView.loadDataWithBaseURL("file:///android_asset/", htmlStr, "text/html", "UTF-8", null);

这对我有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接