我正在尝试将我的应用程序从 UIWebView 转移到 WKWebView。
当应用程序启动时,我的应用程序正在将 HTML 文件下载到文件系统。
下载完成后,将创建一个 webview 对象(不会显示在屏幕上)并从设备加载 HTML(“file://”)。
HTML 包含 JavaScript,可根据特定参数从 URL 加载资源。
这是问题:
- 在 UIWebview 中,所有资源都加载没有问题。
- 在 WKWebView 中有一个奇怪的行为:
如果对象 (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 的 script 标签内包含一个长脚本。它的主线正在做类似的事情:
var js = someVar.getElementsByTagName(someName);
js = someVar.createElement(someVar);
js.src = geSomeUrl(); //behave differnatly when webview is not presented
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)