UIWebView上でJavaScriptを走らせたい

UIWebView上でJavaScriptを走らせたい場合はUIWebViewクラスのstringByEvaluatingJavaScriptFromString:メソッドを利用する。返り値には最後に評価した式の値が格納される。

以下では最後に評価された「a + b」の結果である「3」が返る。

    NSString *s = [webView stringByEvaluatingJavaScriptFromString:
         @"var a = 1; var b = 2; a + b;"];
    NSLog(@"=> %@", s); //=> 3

以下はUIWebView上で選択中の文字列をNSLogで出力する例。

- (IBAction) showSelectedText {
    NSString *s;
    
    // 選択中の文字列を取得(なぜかtoString()しないと値が返らない)
    s = [webView stringByEvaluatingJavaScriptFromString:
         @"document.getSelection().toString()"];
    NSLog(@"=> %@", s);
}