在我的应用中,我正在加载一个驻留在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 load抛出以下错误。我该如何解决这个
XMLHttpRequest无法加载 文件:///storage/emulated/0/Android/data/com.example.sdcardwebview/files/sec.html。 无法从null发出任何请求。 at null:1
答案 0 :(得分:8)
我终于找到了解决方案
null原点问题只发生在JB,它应该有一个基于新webkit的webview,它实现了更严格的同源策略。
因此,有问题的代码在JB下面的所有Android版本上运行得非常好。要使代码在JB上运行,我们需要做的就是更改Web视图设置。只需致电
webView.getSettings().setAllowUniversalAccessFromFileURLs(true);