javascript - 如何使用 loadDataWithBaseURL() 方法从 SDCARD 加载 JS 和 CSS

标签 javascript android android-webview android-sdcard

我在 SDCARD 上有一个 .html、.js、.css 文件,在我的例子中,html 文件内容是加密的。我正在按以下步骤加载 html 文件:

  1. 读取文件内容
  2. 解密所有内容
  3. 使用以下行将所有内容加载到 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/

相关文章:

javascript - 为什么代码中的 var 计数增加?但是我提到了 if(vowel.indexOf(item !== -1))

javascript - 将数组名称添加到字符串并更新 - javascript

javascript - eval() 的替代品

Android 和带 SSL 的 HTTPS

android - 带有 shouldOverrideUrlLoading 和 baseURL 的 WebView

android - 在 native 应用程序中使用 Webrtc

javascript - 从 ajax 请求中获取原始文本

php - 连接数据库时出现空指针异常

android - 无法在 libgdx 游戏的菜单屏幕上绘制任何类型的按钮(android)

Android WebView 在第一次页面完成时没有从本地存储读取数据?