2

UIWebViewで開いたHTMLページにユーザーが入力したユーザー名とパスワードのデータを保存しています。今、私がやりたいのは、ユーザー名とパスワードをそれぞれのフィールドに戻し、フォームを送信することです。この機能をほぼすべての種類のWebサイトで機能させたいと思います。

現在、JavaScriptを使用してデータをそれぞれのフィールドに戻すことができます。私の問題は、Webページに複数のフォームがある場合に値で埋められたフォームを識別する方法です。

また、アプリケーションの開発中に、セキュリティ上の理由から、一部のWebサイトではパスワードフィールドに入力できないことがわかりました。この機能を実装するには、どのJavaScriptコードを使用する必要がありますか?

4

2 に答える 2

1

やあ、これが Web ビューで役立つことを願っています。

   - (void)webViewDidFinishLoad:(UIWebView *)webView
    {
            //For Authentication
        NSString *savedUsername = @"Bapu";
        NSString *savedPassword = @"Bapu123";

        if (savedUsername.length != 0 && savedPassword.length != 0)
        {
         //create js strings
         NSString *loadUsernameJS = [NSString stringWithFormat:@"var inputFields = document.querySelectorAll(\"input[type='text']\"); \
                                                 for (var i = inputFields.length >>> 0; i--;) { inputFields[i].value = '%@';}", savedUsername];
        NSString *loadPasswordJS = [NSString stringWithFormat:@"var inputFields = document.querySelectorAll(\"input[type='password']\"); \
                                        for (var i = inputFields.length >>> 0; i--;) { inputFields[i].value = '%@';}", savedPassword];

             //autofill the form
        [webView stringByEvaluatingJavaScriptFromString: loadUsernameJS];
        [webView stringByEvaluatingJavaScriptFromString: loadPasswordJS];
        }
    }
于 2012-05-17T05:13:20.917 に答える
0

要するに、私が考えることができる唯一の答えはJavaスクリプトです。あなたの UIWebView オブジェクトが *webView であると仮定します。クラスが UIWebViewDelegate をサポートするようにしてから、デリゲートを適切な場所に割り当てます。

// In viewDidLoad or somewhere appropriate.
self.webView.delegate = self;

UIWebView デリゲート関数。

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{
    NSString *fillAndSubmit = [NSString stringWithFormat:@"<--- javascript --->",username,password];
    NSString *output = [webView stringByEvaluatingJavaScriptFromString:fillAndSubmit];
    // Any other stuff you need to do.
}

上記は大まかな概要です。<--- javascript ---> を、関連するフォームにユーザー名とパスワードを入力して送信する JavaScript コードに置き換えます。読み込まれたページがたとえば JQuery を使用している場合、ここの JavaScript で JQuery を使用できます。

使用する JavaScript に関しては、問題の Web ページに完全に依存するので、私はそこで本当にお手伝いできます。

于 2012-04-05T07:24:43.427 に答える