在android webview中打开存储在内部内存中的本地HTML文件时,不会加载HTML资源(css / js)

时间:2016-03-10 08:20:03

标签: java android webview

我正在加载一个存储在android内部内存中的html文件。我使用下面的行来加载html url。

webView.loadUrl("file:///" + file);  

此处文件位置将类似于/data/data/apppackagename/localcontent/html/../../../home.html

我的问题是html文件在webview中加载正常。但是它没有在其他文件夹中引用css和js文件。

例如: 如果html文件位于以下位置。

/data/data/apppackagename/localcontent/html/../../../home.html

js和css位于同一位置,如

/data/data/apppackagename/localcontent/html/../../../xyz.css
/data/data/apppackagename/localcontent/html/../../../abc.js

然后通过引用js和css文件来正常工作

但是如果html文件位于以下位置。

/data/data/apppackagename/localcontent/html/../../../home.html

js和css位于同一位置,如

/data/data/apppackagename/localcontent/html/../../../css/xyz.css
/data/data/apppackagename/localcontent/html/../../../js/abc.js

然后在webview中加载时不会引用css和js文件。

请注意,我正在从网上下载html文件并存储内存并在没有网络时访问它。

html文件中的路径也只是相对的。请有人帮我这个。提前谢谢。

上次修改:

我已经分析过并发现某些css / js文件没有正确下载,这就是为什么html没有正确加载的原因。我检查了rooted设备中的文件。感谢。

1 个答案:

答案 0 :(得分:0)

在html文件中引用如下所示的css和js,如果html文件,js和css在同一个文件夹中。

<script src="js/src.js"></script>
<link href="css/css.css" type="text/css" rel="stylesheet" />

这对我有用。