PhoneGapを使用してiPhoneアプリを構築しています。ChildBrowserプラグインを使用しています。
アプリにユーザー名/パスのフォームがある場合、それらの情報をwww.mydomain.com/login.phpなどのURLに投稿して、ChildBrowserで開くことはできますか?
私にお知らせください。
ありがとう。
PhoneGapを使用してiPhoneアプリを構築しています。ChildBrowserプラグインを使用しています。
アプリにユーザー名/パスのフォームがある場合、それらの情報をwww.mydomain.com/login.phpなどのURLに投稿して、ChildBrowserで開くことはできますか?
私にお知らせください。
ありがとう。
私は解決策を探していて、それを開発するのをやめました。これは、iPhone用のチャイルドブラウザの箱から出てくるものではありません。だから、ここで私がプラグインに追加したコード。参考までに、データは次の形式の文字列である必要があります:arg1 = value1&arg2 = value2&foo = bar
ChildbrowserViewController 次のメソッドを追加しました。
- (void)postURL:(NSString*)url data:(NSString*)data{
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL: [NSURL URLWithString:url]];
[request setHTTPMethod: @"POST"];
[request setHTTPBody: [data dataUsingEncoding: NSUTF8StringEncoding]];
[webView loadRequest: request];
webView.hidden = NO;}
ChildbrowserCommandshowWebPage メソッドに次のコードを追加しました。
NSString* method = [ options objectForKey:@"method"];
if ([method isEqualToString:@"POST"]){
[childBrowser postURL:url data:[options objectForKey:@"data"]];
}else{
[childBrowser loadURL:url];
}
HTH!ミルトン。
確かにGETパラメータをに渡すことができますchildBrowser.showWebPage()
。
アプリでフォームの送信をインターセプトし、渡されたフィールド名と値を収集して(これがログインフォームであると想定し、ユーザー名とパスワードを指定します)、ChildBrowserで開いたURLにパラメーターとして渡すことができます。
childBrowser.showWebPage('https://www.mydomain.com/login.php?username='+username+'&password='+password)
これは、デモンストレーション用のかなり洗練されていないバージョンです。それを改善するのにそれほど時間はかかりません。
もちろん、キャッチはGET経由で送信されていることです。ログインフォームでPOSTが必要であり、それを変更できない場合は、問題が発生している可能性があります。
編集:
POSTが唯一のオプションである場合は、子ブラウザーを使用する代わりに、AJAXを使用してフォームに投稿する方がよいでしょう。