要在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网页

ios object-c wkwebview监听网页

原文地址: http://www.cveoy.top/t/topic/iTgn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录