iOS - WKWebView 跨源请求仅支持 HTTP

标签 ios swift uiwebview wkwebview

您好,我正在尝试使用 WKWebView 加载主 bundle 中的 html,这与 UIWebView 完美配合,但现在我遇到错误,html 中的文件未加载,在控制台中发送错误:“XMLHttpRequest 无法载入”

Consola form simulator

Simulator

这是一个例子 http://proyectoshm.com/esferas/dosaguas/dosaguascitta.html嵌入的内容。

我的代码:

let folder = "maquetas/esferas/\(esfera)"

let resourcePath = Bundle.main.resourcePath
let subdir = URL(fileURLWithPath:resourcePath!).appendingPathComponent(folder, isDirectory: true)

guard let path = Bundle.main.path(forResource: "index", ofType: "html", inDirectory: folder) else {
    print("no se encontró path")
    return

}
print(subdir.path)


let url = NSURL.fileURL(withPath: path)
 print(url.path)
 vistaweb = WKWebView(frame: self.view.frame)

vistaweb.loadFileURL(url, allowingReadAccessTo: subdir)

self.view.addSubview(vistaweb)

最佳答案

要解决它,您需要从 WKPreferences 中打开 allowFileAccessFromFileURLs

swift

webView.configuration.preferences.setValue(true, forKey: "allowFileAccessFromFileURLs")

objective-C

[webView.configuration.preferences setValue:@YES forKey:@"allowFileAccessFromFileURLs"];

关于iOS - WKWebView 跨源请求仅支持 HTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46996292/

相关文章:

单击完成按钮时,带有 YouTube 视频的 iOS UIWebView 不会关闭

objective-c - 制作图片跳转IOS

ios - Swift:制作 AVAudioPlayer 的错误处理程序

iphone - 无法从现有源代码创建新的静态库

swift - 尝试访问 Alamofire 中的错误代码

ios - 如何设置 View 的颜色以匹配半透明导航栏的颜色?

ios - 基于关系的两个属性来获取的核心数据谓词

ios - addTarget 不触发任何事件

android - 如何在 android web View 中用另一个浏览器替换默认的 webkit 浏览器?

ios - 如何在 iOS 中使用 UIWebView 修改从 url 加载的内容?