-1

Objective-C で次の JavaScript コードを使用するにはどうすればよいですか?

var theFormId = $('form').filter(function() {
return this.innerHTML.indexOf('forgot your password') != -1;
}).attr('id');

上記のコードを UIWebView の stringByEvaluatingJavaScriptFromString: メソッドで使用するにはどうすればよいですか?

上記のコードを Objective-C で次のように使用しました。

NSString *formID = [NSString stringWithFormat:@"%@",[self.browser stringByEvaluatingJavaScriptFromString:@"$('form').filter (function() {var text = this.innerHTML.toLowerCase();" 
                        "return text.indexOf('forgot your password') != -1 || "
                        "text.indexOf('remember me') != -1;}).attr('id');"] ];

formID をログに記録しようとすると、何も出力されません。コードに構文エラーはありますか?

4

1 に答える 1

2

問題のごく一部しか示していないため、これが機能するかどうかはわかりません。

まず、あなたの Javascript は有効に見えません。私はそれがあるべきだと思う:

var theFormId = $('form').filter(function() {
    var text = this.innerHTML.toLowerCase(); 

    return text.indexOf('forgot your password') != -1 || 
           text.indexOf('remember me') != -1;
});

いくつかの閉じ括弧を追加しました。

この Javascript を使用して実行-stringByEvaluatingJavaScriptFromString:するには、次のようにします。

NSString *javascript = @"var theFormId = $('form').filter(function() { var text = this.innerHTML.toLowerCase(); return text.indexOf('forgot your password') != -1 || text.indexOf('remember me') != -1; });";

NSString *result = [webView stringByEvaluatingJavaScriptFromString:javascript];

resultただし、これを実行したときに文字列に何が得られるかはわかりません。

于 2012-04-09T08:00:55.653 に答える