WKWebView在未呈现时未加载资源

时间:2016-08-22 08:35:47

标签: ios uiwebview wkwebview

我正在尝试将我的应用程序从UIWebView转移到WKWebView。 当应用程序启动时,我的应用程序正在将HTML文件下载到文件系统。 下载结束后,将创建一个webview对象(未在屏幕上显示)并从设备加载HTML(“file://”)。 HTML包含根据某些参数从URL加载资源的JavaScript。 以下是问题:

  1. 在UIWebview中,加载所有资源都没有问题。
  2. 在WKWebView中有一种奇怪的行为:
  3. 如果屏幕上没有显示对象(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 
    

0 个答案:

没有答案