ios object-c wkwebview监听网页
要在iOS中使用Objective-C监听WKWebView的网页加载事件,可以使用WKNavigationDelegate协议来实现。
首先,在你的ViewController中设置WKWebView的代理为自己的ViewController,例如:
@interface YourViewController : UIViewController <WKNavigationDelegate>
@property (nonatomic, strong) WKWebView *webView;
@end
然后,在你的ViewController的实现中实现WKNavigationDelegate的方法,例如:
@implementation YourViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.webView = [[WKWebView alloc] initWithFrame:self.view.frame];
self.webView.navigationDelegate = self;
[self.view addSubview:self.webView];
NSURL *url = [NSURL URLWithString:@"https://example.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
}
#pragma mark - WKNavigationDelegate
- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
NSLog(@"网页加载完成");
// 在这里执行你想要的操作
}
- (void)webView:(WKWebView *)webView didFailNavigation:(WKNavigation *)navigation withError:(NSError *)error {
NSLog(@"网页加载失败: %@", error.localizedDescription);
// 在这里处理加载失败的情况
}
@end
在上面的示例中,我们在viewController的viewDidLoad方法中创建了一个WKWebView并设置它的代理为viewController自身。然后使用NSURL和NSURLRequest加载一个网页。在WKNavigationDelegate的didFinishNavigation方法中打印了一个日志,表示网页加载完成。你可以在这个方法中执行你想要的操作。如果加载失败,可以在didFailNavigation方法中处理加载失败的情况。
记得在Info.plist文件中添加NSAppTransportSecurity字典,并在该字典中添加NSAllowsArbitraryLoads键,并将其值设置为YES,以允许加载HTTP网页
原文地址: http://www.cveoy.top/t/topic/iTgn 著作权归作者所有。请勿转载和采集!