我正在尝试通过html文件加载存储在设备上的javascript文件,该文件通过webview加载但似乎永远不会加载。我尝试使用直接网址,就像你通常会在HTML中一样,并尝试过:
<script type="text/javascript" src="file:///android_asset/www/js/jsfile.js"/>
在webview设置上也启用了JavaScript,如果我在服务器上使用它,则可以正常工作。
谢谢,如果有人可以提供帮助。
答案 0 :(得分:10)
嗨,实际上我应该直接调用js文件,因为你是从浏览器调用它,认为资产文件夹是它的根文件夹。从java代码调用时,应使用“file:///”前缀。尝试这样的事情:
<script type="text/javascript" src="www/js/jsfile.js"/>
答案 1 :(得分:0)
您可以使用loadDataWithBaseURL
。
将所有javascript放在assets
文件夹下,并在脚本标记(在html中)中相对于assets目录提供js文件路径。不要在src的开头加斜杠。
将html读入字符串(htmlStr
),然后将其加载到webview中,如下所述。
webView.loadDataWithBaseURL("file:///android_asset/", htmlStr, "text/html", "UTF-8", null);
它对我有用。