我在 SDCARD 上有一个 .html、.js、.css 文件,在我的例子中,html 文件内容是加密的。我正在按以下步骤加载 html 文件:
- 读取文件内容
- 解密所有内容
使用以下行将所有内容加载到 webview 中:
webView.loadDataWithBaseURL(relativePath, decFileContent, "text/html", "utf-8", null );
此处
relativePath = "file:///mnt/sdcard/MyFolder/"
会发生什么?
它成功加载了解密的内容,但是没有加载分别保存在以 JS/和 CSS/命名的 relativePath 文件夹中的 js 和 css 文件。它给出以下错误对话框
"Sorry! your application not support to local storageError: SECURITY_ERR: DOM Exception 18"
此外,我搜索了上述错误,可能的类似链接是 1 & 2在回答这些问题时,他们建议从 Assets 文件夹加载 js 和 css。在我的例子中,我不想从 Assets 中加载它们,我想从 SDCARD 中加载它们。有人知道如何实现这一目标吗?
最佳答案
给出 HTML 文件的完整路径,而不仅仅是 relativePath 中的目录路径。
或者你也可以使用loadUrl
http://developer.android.com/reference/android/webkit/WebView.html#loadUrl%28java.lang.String%29
关于javascript - 如何使用 loadDataWithBaseURL() 方法从 SDCARD 加载 JS 和 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16171140/