WKWebview-获取iframe

- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {

    // 1. 获取iframe src,多个尝试
    NSString *js = @"document.getElementsByTagName('iframe')[0].src";
    //NSString *js = @"var iframe = document.querySelector('iframe');";
    //NSString *js = @"var iframes = document.getElementsByTagName('iframe'); var src = iframes[0].src;";
    //NSString *js = @"Array.from(document.getElementsByTagName('iframe')).map(frame => frame.src);" ;

    [webView evaluateJavaScript:js completionHandler:^(id result, NSError *error) {
        NSLog(@"===Error===:%@",error);

        if (!error){
            NSString *originSrc = result;
            NSLog(@"===Result===:%@",originSrc);

            // 2. 构造设置src代码
//            NSString *js = [NSString stringWithFormat:@"iframes[0].src = \"%@\";", newSrc];

//            NSString *modifiedIframeSrc = [iframeSrc stringByReplacingOccurrencesOfString:@"http://***" withString:@"https://***"]; // 替换成你的实际链接

            // 3. 执行设置src操作
//            [webView evaluateJavaScript:js completionHandler:nil];
        }
    }];

    // 4. WKWebView会重新加载iframe新的页面
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容