我正在尝试将我的应用程序从UIWebView转移到WKWebView。 当应用程序启动时,我的应用程序正在将HTML文件下载到文件系统。 下载结束后,将创建一个webview对象(未在屏幕上显示)并从设备加载HTML(“file://”)。 HTML包含根据某些参数从URL加载资源的JavaScript。 以下是问题:
如果屏幕上没有显示对象(WKWebView) - 资源未加载且JavaScript的一般流程非常慢。 如果在屏幕上显示对象(WKWebView) - 所有资源都被加载,那么一般流程就像UIWebView一样。
我的问题是 - 为什么WKWebView在屏幕上显示时表现不同?它是否与从文件系统加载HTML有关?据我所知,WKWebView应该在其实例存在的情况下正常加载所有内容,而不依赖于它的呈现与否。
这就是我加载文件的方式:
//convert to file system url
NSURL *fileSystemLocation = [[NSURL alloc] initFileURLWithPath:[getting the path] isDirectory:YES];
//load the html file
[self.wkwebview loadFileRequest:requestToHtml allowingReadAccessToURL:fileSystemLocation];
Html在脚本标记内包含一个长脚本。它的主线是:
var js = someVar.getElementsByTagName(someName);
js = someVar.createElement(someVar);
js.src = geSomeUrl(); //behave differnatly when webview is not presented