javascript - 使用非 Assets 文件夹中的自定义 CSS 在 WebView 中加载 HTML

标签 javascript android html css webview

我在 /data/data/my.package/files/htmlstuff 目录中有一些 CSS 文件和 JS 文件。我还有一堆从网络上获得的 HTML 内容。我想将这些本地 CSSJS 应用到我在 WebView 中加载的每个 html。我怎样才能做到这一点?

如果我的 CSSJS 位于 assets/htmlstuff 目录中,那么我可以使用下面的代码:

webView.loadDataWithBaseURL("file:///android_asset/htmlstuff/", htmlContent, "text/html", "UTF-8", null);

但是当文件存在于 /files/ 目录中时,我如何实现相同的目的?

最佳答案

解决这个问题的是下面的一段代码:

final File filesDir = getContext().getFilesDir();
final File htmlStuffDir = new File(filesDir, "htmlStuff");
final String baseUrlPath = htmlStuffDir.getAbsolutePath() + "/";

webView.loadDataWithBaseURL("file:///" + baseUrlPath, htmlContent, "text/html", "UTF-8", null);

末尾的 / 很重要,没有它就无法工作。

关于javascript - 使用非 Assets 文件夹中的自定义 CSS 在 WebView 中加载 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45511612/

相关文章:

android - 协程 : Can't return value after finish work

javascript - Angular/Javascript - 隐藏带有 id onclick 的按钮

javascript - JQUERY 在 if 语句中链接变量,逻辑运算符

javascript - 如何在 "controller as" Controller 内的指令中正确使用 $watch?

javascript - 为什么这个 javascript 在 Chrome 中有内存泄漏?

javascript - Knockout - 显示 javascript,而不是数据绑定(bind)值

java - 如何在此套接字连接中设置超时并将数据发送到客户端?

javascript - highcharts 系列选项的问题

android - 同时激活 WiFi 和蜂窝网络接口(interface)

javascript - 如何为按钮的内容设置动画?