4

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 ファイルは読み込まれません。次のエラーダイアログが表示されます

「申し訳ありません! あなたのアプリケーションはローカル ストレージ エラーをサポートしていません: SECURITY_ERR: DOM Exception 18」

また、上記のエラーを検索しました。同様のリンクの可能性は、アセットフォルダーから js と css をロードすることを提案したこれらの質問に対する回答の12です。私の場合、アセットからロードしたくないので、 SDCARD からロードしたいと思います。誰でもこれを達成する方法を知っていますか?

4

1 に答える 1

2

relativePath のディレクトリ パスだけでなく、HTML ファイルの完全なパスを指定します。

または、loadUrl を使用することもできます

http://developer.android.com/reference/android/webkit/WebView.html#loadUrl%28java.lang.String%29

于 2013-04-23T13:58:23.223 に答える