wkwebview的坑:iOS10位分水岭,包括跨域和低版本不能再沙盒访问js,css等资源文件

1:iOS10以下版本,wkwebview不允许在沙盒里访问html里的css,js等外部资源文件,需要转移到tmp文件夹下访问;

复制到tmp文件夹下,然后从tmp文件夹下访问即可

-(NSString )spineFileMoveToTemp:(NSString )path{

if !𝑝𝑎𝑡ℎ!path {

return nil;

}

// Files in “/temp/www” load flawlesly :)

NSString *temDirPath =[NSString stringWithFormat:@”%@”, [NSString stringWithFormat:@”%@”, NSTemporaryDirectory]];

path = [path stringByReplacingOccurrencesOfString:@”/index.html” withString:@””];

[self copyFlolderFrom:path to:temDirPath];

return temDirPath;

}

2:iOS10 上下版本的跨域问题: Cross origin requests are only supported for HTTP.

解决方案:

WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];

configuration.preferences.javaScriptEnabled = YES;

configuration.preferences.javaScriptCanOpenWindowsAutomatically = YES;

configuration.suppressesIncrementalRendering = YES; // 是否支持记忆读取

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

if (@available𝑖𝑂𝑆10.0,∗iOS10.0,∗) {

[configuration setValue:@YES forKey:@”allowUniversalAccessFromFileURLs”];

}

_webView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:configuration];


   转载规则


《wkwebview的坑:iOS10位分水岭,包括跨域和低版本不能再沙盒访问js,css等资源文件》 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
OC对象,isa和superclass OC对象,isa和superclass
instance对象实例对象实例对象 class对象类对象类对象 meta-class对象元类对象元类对象 一.instance对象 概念: instance对象就是通过类alloc出来的对象,每次调用alloc 都会产生新的instanc
2020-09-28
下一篇 
OC lock锁 OC lock锁
NSRecursiveLock trylock 认知 在同一个线程中多次 lock 不会造成死锁 但是可能会造成线程等待 如果锁在 线程A 中 lock 了 并没有解锁, 那么在其他线程如果调用了该锁除𝑡𝑟𝑦𝑙𝑜𝑐𝑘外除try
2020-09-28
  目录