gpt4 book ai didi

objective-c - OSX - 在 WebView 中加载图像

转载 作者:行者123 更新时间:2023-12-03 17:24:47 26 4
gpt4 key购买 nike

我有一个正在加载网页的 WebView。我想保存网页中加载的所有图像,但我想在每个图像通过委托(delegate)方法下载完成时保存它们:

-(void) webView:(WebView *)发送者资源:(id)标识符 didFinishLoadingFromDataSource:(WebDataSource *)dataSource

我该怎么做?我只是想避免出现获取图像源然后重新下载图像的情况。也许我的做法是错误的?也许通过 [NSURLCache sharedURLCache] 保存图像?任何帮助是极大的赞赏!谢谢!

最佳答案

This SO answer为我的最终解决方案提供了一些突破,给了我很大帮助。我最终执行了一些 JavaScript 以从 img 标签中获取 src 属性。然后,每次调用 -(void) webView:(WebView *)sender resource:(id)identifier didFinishLoadingFromDataSource:(WebDataSource *)dataSource 方法时,它都会检查 [dataSource subresourceForURL:网址]。如果返回 true,则执行保存。完整代码如下:

-(void) webView:(WebView *)sender resource:(id)identifier didFinishLoadingFromDataSource:(WebDataSource *)dataSource {
NSURL *url = [NSURL URLWithString:[[webView windowScriptObject] evaluateWebScript:/* javascript to grab src */]];
if ([dataSource subresourceForURL:url]) {
NSData *dataToSave = [[dataSource subresourceForURL:url] data];
}
}

希望这对某人有帮助!

关于objective-c - OSX - 在 WebView 中加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9658014/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com