Android webview 加载远程网页如何调用本地(asset)js文件

ifu25
  • 109

我在服务器上放置一个html网页,其中需要引用jQuery.js文件,为了减少网络流量,我想把jQuery文件放到本地目录中(assets),并且在html代码中这样写:

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

MainActivity中的代码:

mWebView.getSettings().setAllowFileAccess(true);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("http://www.xxx.cn/demo.html");

结果不行,报错,没权限访问本地资源,错误如下:

Not allowed to load local resource: file:///android_asset/jquery.js", source: http://www.xxx.cn/demo.html (0)

请问如何实现?(注意:我希望把html放在服务器,把js资源放在apk中的assets)

回复
阅读 9.5k
5 个回答

你可以先实现返回htmlString格式的内容,再调用loadDataWithBaseURL加载。

Sample
  • 1
新手上路,请多包涵

shouldinterceptloadrequest
这个api可以在加载的时候进行替换

pass
  • 1
新手上路,请多包涵

楼主问题解决了吗?怎么实现呢

宣传栏