evaluateJavaScript 在 WkWebview 上绘制数据缓慢(非常慢)

evaluateJavaScript plots data slow(very slow) on WkWebview

以前我们使用 webview 加载本地 HTML 文件并评估其上的 Json 数据工作正常但现在我们使用 WKWebview 并加载本地 HTML 文件并评估其上的 Json 数据,但与 Webview 相比,它的加载速度非常慢。

WebView 的代码片段:

 NSURL *instructionsURL = [NSURL fileURLWithPath:path];                   
 NSURLRequest *req = [NSURLRequest requestWithURL:instructionsURL];
 [self.webViewHistory loadRequest:req];

NSString *js = [NSString stringWithFormat:@"activeDataDisplay(%@)", jsonActivityDataString];
[self.webViewHistory stringByEvaluatingJavaScriptFromString:js];

WkWebview 的代码片段:

 NSURL *instructionsURL = [NSURL fileURLWithPath:path];
 NSURLRequest *req = [NSURLRequest requestWithURL:instructionsURL];
 [self.wkWebHistory loadRequest:req];

 NSString *js = [NSString stringWithFormat:@"activeDataDisplay(%@)", jsonActivityDataString];

[self.wkWebHistory evaluateJavaScript:js completionHandler:^(NSString *result, NSError *error) {
             NSLog(@“Completion”);
         }];

对此有任何帮助或解决方法吗?或者还有其他方法吗?感谢 Adv.

我自己找到了答案。

我们需要评估

中的 JS
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
}

而不是

- (void)webView:(WKWebView *)webView didCommitNavigation:(null_unspecified WKNavigation *)navigation {
}

DOM 尚未准备好,而我们正在尝试在 didCommitNavigation 中对其进行评估,因此 evaluateJavaScript 出现错误。