2012-04-09 6 views
-1

Objective-Cで次のjavascriptコードを使用するには?Objective-CでJavascriptを使用

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

上記のコードをUIWebViewのstringByEvaluatingJavaScriptFromStringで使用するには?

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');"] ]; 

フォームIDをログインしようとし、それは何も出力しない:次のように

私はObjective-Cのと上記のコードを使用していました。私のコードに構文エラーがありますか?

+0

は[こちら]関連する質問[1]を参照してください これはあなたに大いに役立つでしょう [1]:http://stackoverflow.com/questions/766627/uiwebview-stringbyevaluatingjavascriptfromstring-not -changing-text-box-value –

+1

@AalokParikhあなたがこのフォーマットを使用する必要があるコメントにリンクを使用する '[text](http:// URL)' –

答えて

2

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

まず、Javascriptが有効でないように見えます。私はそれがすべきだと思う:

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

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

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

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

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文字列に何が表示されるかわかりません。

+0

ここに私のオリジナルの質問に行く:http:// stackoverflow .com/questions/10069564/find-the-login-form-on-content –

関連する問題