2012-03-22 6 views
0

WebView stringByEvaluatingJavaScriptFromStringにソースファイル(src = "")として参照する必要があるバンドルリソースにあるイメージがあります。私はウェブサイトから外部の画像を参照することはできますが、ローカル画像のURLを書き込む方法はわかりません。stringByEvaluatingJavaScriptFromStringリファレンスローカルファイル

どうすればいいですか?

+0

この目的はCですか?マック? iOS?ルビー? Java? –

+0

xcode。それはiosアプリケーションです。 – Charles

+1

FYI、XCodeは、Mac、iOS、Java、Ruby、その他の言語とプラットフォーム用に開発された、汎用性の高い統合開発環境です。乾杯! –

答えて

0

あなたがこれを行うことができますどのように表示する例...私のviewDidLoad

、下図のように私はのUIWebViewにいくつかの例のHTMLを追加してい:(これは簡単にリモートURLへloadRequest:コールすることができます)

NSString *html = @"<html><body><img id='theImage'></img></body></html>"; 
[self.webView loadHTMLString:html baseURL:nil]; 

ビューコントローラをUIWebViewのデリゲートとして設定し、HTMLのロードが完了するまで待つ必要があります。次に、スクリプトを実行して画像URLを修正することができます。

- (void)webViewDidFinishLoad:(UIWebView *)webView { 
    // Get the path to the image in the bundle you wish to display, and create a URL from this path. 
    NSString *imagePath = [[NSString alloc] initWithString:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"MyImage.png"]]; 
    NSURL *imageURL = [NSURL fileURLWithPath:imagePath]; 
    // Create a script to execute in the web view. 
    NSString *script = [[NSString alloc] initWithFormat:@"document.getElementById('theImage').src = \"%@\";", imageURL]; 
    // Execute the script. 
    [self.webView stringByEvaluatingJavaScriptFromString:script]; 
    // Tidy up. 
    [imagePath release]; 
} 
+0

イアン、返事をありがとう。私は実際に関連トピックについて見た別のチュートリアルに基づいて "stringByAppendingPathComponent"を使ってみました。私はスクリプトを間違って実行したのか、スクリプトが間違っていたのか分かりませんが、実際にはうまくいきません。私は家に帰るとこの方法を試してくれるでしょう。うまくいけばそれはうまくいくでしょう。私はあなたに戻ってきます。 – Charles

+0

私はそれをテストし、それは働いた...しかし、あなたはwebViewDidFinishLoadデリゲートメソッドでそれを行う必要があります。がんばろう! –

+0

はい、私はwebViewDidFinishLoadで私の現在のスクリプトを実行しているので、私はあまりスクリプトを変更する必要はないと思う。うまくいけば、これは私のために働くでしょう!助けてくれてありがとう! – Charles

関連する問題