OSX - получение изображения, загруженного в WebView - PullRequest
1 голос
/ 11 марта 2012

У меня есть WebView, который загружает веб-страницу. Я хочу сохранить все изображения, загруженные на веб-странице, но я хочу сохранить их, так как каждое изображение завершает загрузку методом делегата:

-(void) webView:(WebView *)sender resource:(id)identifier didFinishLoadingFromDataSource:(WebDataSource *)dataSource

Как бы я это сделал? Я просто хочу избежать ситуации, когда я беру src-изображения, а затем загружаю их заново. Может быть, мой подход неверен? Может быть, сохранить изображения через [NSURLCache sharedURLCache]? Любая помощь с благодарностью! Спасибо!

1 Ответ

0 голосов
/ 12 марта 2012

Этот SO-ответ очень помог мне в достижении некоторых прорывов в моем окончательном решении. Я закончил тем, что выполнил некоторый JavaScript, чтобы получить атрибут src из тега img. Затем каждый раз, когда вызывается метод -(void) webView:(WebView *)sender resource:(id)identifier didFinishLoadingFromDataSource:(WebDataSource *)dataSource, он проверяет [dataSource subresourceForURL:url]. Если он возвращает 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];
    }
}

Надеюсь, это кому-нибудь поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...