我有一个正在加载的WebView和HTML字符串,我希望它能够捕获链接上的点击。 为此,我需要使用webView:shouldStartLoadWithRequest:navigationType方法。 问题是这个方法在HTML内容完全加载之前被多次调用,我只想在那一刻开始捕获点击。 问题是如何知道HTML内容何时完全加载?我认为这很简单所以我创建了一个布尔值作为包含WebView的ViewController的iVar,并在调用loadHTMLString后将其设置为YES。然后,在webView:shouldStartLoadWithRequest:navigationType我正在测试该布尔值是否为真,如果是这样的话,我输出的内容就像“OK”。但是没有点击链接就显示“OK”=>失败。
关于如何使这项工作有任何想法?
提前致谢
答案 0 :(得分:3)
- (void)webViewDidFinishLoad:(UIWebView *)webViews{
}
此方法将在HTML内容完全加载时调用。 它可能对你有帮助。
答案 1 :(得分:3)
您可以使用webViewDidFinishLoad:
委托方法来了解HTML的加载时间。
但我宁愿使用另一种解决方案:
在webView:shouldStartLoadWithRequest:navigationType:
中,您可以按导航类型过滤请求:
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
// Catch links
return NO; // if you want to cancel the request, else YES
}