viewDidLoadイベントにWebサイトをロードするWebビューがあります。
- (void)viewDidLoad
{
[super viewDidLoad];
NSString *fullURL = @"http://www.mypage.net/geschenke/allproducts.php";
NSURL *websiteURL = [NSURL URLWithString:fullURL];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:websiteURL];
[webView2 loadRequest:requestObj];
}
これはうまくいきます。このページには、表示されている製品のIDなどのメタ情報があります。
これで、アプリにUIButtonがあり、クリックすると、次のコードが実行されます。
-(IBAction)buttonClick:(id)sender{
NSString *lastId = [webView2 stringByEvaluatingJavaScriptFromString:@"document.getElementById('iphone-4').innerHTML;"];
NSString *fullURL = [NSString stringWithFormat:@"http://www.mypage.net/geschenke/allproducts.php?lastId=%@&likeIt=0", lastId];
NSURL *websiteURL = [NSURL URLWithString:fullURL];
NSLog(fullURL);
NSURLRequest *requestObj = [NSURLRequest requestWithURL:websiteURL];
[webView2 loadRequest:requestObj];
}
ご覧のとおり、同じページを読み込んでいますが、新しいパラメーター(lastIDとlikeIt)を使用しています。stringByEvaluatingJavaScriptFromStringを使用して、IDを簡単に解析します。
NSLog(fullURL)コマンドは、正しいURLをログに記録します。コピーしてブラウザに貼り付けると動作します。
ソースコード自体も機能します。代わりにwww.google.deをロードすると、webViewは新しいページに移動します。
何か案は?
ありがとうございます!