gpt4 book ai didi

android - 使用 $.load 加载本地 html

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:05:35 25 4
gpt4 key购买 nike

在我的应用程序中,正在加载驻留在 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 View (webvu) 中加载的 html 文件尝试使用 $.load ajax 调用加载另一个 html 文件

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

ajax 加载抛出以下错误。我该如何解决这个问题

XMLHttpRequest cannot load file:///storage/emulated/0/Android/data/com.example.sdcardwebview/files/sec.html. Cannot make any requests from null. at null:1

最佳答案

我终于想出了解决办法

null origin 问题只发生在 JB 中,据说它有一个基于新 webkit 的 webview,它实现了更严格的同源策略。

因此,有问题的代码在 JB 以下的所有 android 版本上都可以正常工作。要让代码在 JB 上运行,我们需要做的就是更改 Web View 设置。打电话

webView.getSettings().setAllowUniversalAccessFromFileURLs(true);

关于android - 使用 $.load 加载本地 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14560453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com