我正在尝试通过在Webview中加载的html文件来加载存储在设备上的javascript文件,但似乎永远无法加载。我已尝试使用像在html中通常使用的直接url,并且还尝试了:
<script type="text/javascript" src="file:///android_asset/www/js/jsfile.js"/>
Webview设置已启用JavaScript,并且如果我将其放在服务器上,则可以正常工作。
感谢任何能够帮助的人。
我正在尝试通过在Webview中加载的html文件来加载存储在设备上的javascript文件,但似乎永远无法加载。我已尝试使用像在html中通常使用的直接url,并且还尝试了:
<script type="text/javascript" src="file:///android_asset/www/js/jsfile.js"/>
Webview设置已启用JavaScript,并且如果我将其放在服务器上,则可以正常工作。
感谢任何能够帮助的人。
你应该直接调用JavaScript文件,因为你是在浏览器中调用它,而浏览器将asset文件夹视为其根文件夹。当从Java代码中调用时,应使用“file:///”前缀。尝试像这样:
<script type="text/javascript" src="www/js/jsfile.js"/>
你可以使用loadDataWithBaseURL
。
将所有的JavaScript放在一个名为assets
的文件夹下,并在HTML中的脚本标签中相对于assets目录给出js文件路径。不要在src的开头加上斜杠。
将HTML读入字符串(htmlStr
),然后按照下面所述的方式在Webview中加载它。
webView.loadDataWithBaseURL("file:///android_asset/", htmlStr, "text/html", "UTF-8", null);
这对我有用。