iOS - WKWebView 跨源请求仅支持 HTTP
iOS - WKWebView Cross origin requests are only supported for HTTP
您好,我正在尝试使用 WKWebView 加载主捆绑包中的 html,这与 UIWebView 完美配合,但现在出现错误,html 中的文件无法加载在控制台中发送错误:"XMLHttpRequest cannot load"
这是嵌入内容的示例 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"];
文件访问和通用文件访问(在从设备读取媒体的情况下)
[webView.configuration.preferences setValue:@YES forKey:@"allowFileAccessFromFileURLs"];
[webView.configuration setValue:@YES forKey:@"allowUniversalAccessFromFileURLs"];
Xamarin.iOS 开发者:
WKWebViewConfiguration config = webView.Configuration;
config.Preferences.SetValueForKey( FromObject( true ), new NSString( "allowFileAccessFromFileURLs" ) );
config.SetValueForKey( FromObject( true ), new NSString( "allowUniversalAccessFromFileURLs" ) );
您好,我正在尝试使用 WKWebView 加载主捆绑包中的 html,这与 UIWebView 完美配合,但现在出现错误,html 中的文件无法加载在控制台中发送错误:"XMLHttpRequest cannot load"
这是嵌入内容的示例 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"];
文件访问和通用文件访问(在从设备读取媒体的情况下)
[webView.configuration.preferences setValue:@YES forKey:@"allowFileAccessFromFileURLs"];
[webView.configuration setValue:@YES forKey:@"allowUniversalAccessFromFileURLs"];
Xamarin.iOS 开发者:
WKWebViewConfiguration config = webView.Configuration;
config.Preferences.SetValueForKey( FromObject( true ), new NSString( "allowFileAccessFromFileURLs" ) );
config.SetValueForKey( FromObject( true ), new NSString( "allowUniversalAccessFromFileURLs" ) );