2012-03-11 13 views
1

私はウェブページを読み込んでいるWebViewを持っています。私は、Webページにロードされたすべての画像を保存したいが、私は、各画像が終了すると、デリゲートメソッドを経由してダウンロードして保存したい:OSX - WebViewに読み込まれた画像を取得する

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

私はこれをどのように行うのでしょうか?私はちょうど私がイメージsrcをつかんで、イメージをredownloadする状況を避けたいです。多分私のアプローチは間違っていますか?たぶん画像を[NSURLCache sharedURLCache]で保存しますか?どんな助けでも大歓迎です!ありがとう!

+0

[WebKit、リソースの内容を取得するにはどうすればいいですか?](http://stackoverflow.com/questions/3155359/webkit-how-do-i-get-the-contents-of-the -resource) –

+0

そうです。私はそのスレッドを見つけて、自己回答を待っていましたが、それを行うのに十分な評判はありません。あなたが答えとしてそれを提供したいなら、私はそれを答えとして喜んでマークします。 –

答えて

0

This SO answerは、私の最終的な解決策にいくつかのブレークスルーを与えてくれました。 imgタグからsrc属性を取得するためにjavascriptを実行しました。次に、-(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]; 
    } 
} 

これは誰かを助けることを望みます。

関連する問題