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

我在服务器上放置一个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)

阅读 12.1k
5 个回答

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

新手上路,请多包涵

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

新手上路,请多包涵

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题