0

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は新しいページに移動します。

何か案は?

ありがとうございます!

4

1 に答える 1

0

キャッシュを無視してみてください:

[NSURLRequest requestWithURL:websiteURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:0.0]
于 2014-05-31T10:10:51.897 に答える