4

私のアプリでは、SDカードにあるローカルhtmlをロードしています

String extPath = getExternalFilesDir(null).toString();
String html = getHtml(extPath+File.separator+fileName); //it just reads html file and returns content as string
webvu.loadDataWithBaseURL("file://"+extPath+File.separator,html ,
"text/html","UTF-8", null);

Web ビュー (webvu) にロードされた html ファイルは、$.load ajax 呼び出しで別の html ファイルをロードしようとします。

$.load("base.html",function(){ ... });

ajax ロードで以下のエラーがスローされます。どうすればこれを解決できますか

XMLHttpRequest は file:///storage/emulated/0/Android/data/com.example.sdcardwebview/files/sec.html を読み込めません。null からのリクエストはできません。ヌル:1

4

1 に答える 1

8

私はついに解決策を見つけました

nullオリジンの問題は、より厳密な同一生成元ポリシーを実装する新しいWebkitに基づくWebビューを持っていると思われるJBでのみ発生します。

したがって、問題のコードは、JBより下のAndroidのすべてのバージョンで完全に正常に機能します。JBでコードを機能させるには、Webビュー設定を変更するだけです。電話するだけ

webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
于 2013-01-28T17:50:13.053 に答える