Я работаю над WKWebview, проверяя внутренний HTML-код, используя этот javascript.
-(void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation
{
NSString *strBlockKeyWord = @"document.body.innerHTML";
[webView evaluateJavaScript:strBlockKeyWord completionHandler:^(NSString* html, NSError * _Nullable error) {
NSLog(@"HTML code of page is .....%@",html);
}];
}
}
Работает нормально, когда мэйнфрейм загружается в веб-просмотре, didFinishNavigation не вызывается, когда мы загружаем любой субфрейм в загруженный веб-сайт, когда мы выполняем какие-либо действия внутри мэйнфрейма, когда он правильно загружает содержимое субкадра, но не вызывается didFinishNavigation обратный вызов, поэтому из-за этого я не получаю HTML-код новой страницы загрузки.
Я также добавил Наблюдатель за прогрессом, похожим на этот
[self.wkWebView addObserver:self forKeyPath:NSStringFromSelector(@selector(estimatedProgress)) options:NSKeyValueObservingOptionNew context:NULL];
В этом случае вызов делегата Observer ниже метода при загрузке основного фрейма, когда мы выполняем какое-то действие и загрузку субкадра в WKWebview, когда в этот раз также не выполняется вызов ниже метода делегата Observer.
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if ([keyPath isEqualToString:NSStringFromSelector(@selector(estimatedProgress))]) {
}
}
Не могли бы вы мне помочь, Как получить HTML-код моего веб-просмотра при загрузке субкадра в мэйнфрейм?
Заранее спасибо.