UIWebView LoadRequest只能运行一次吗?

时间:2012-12-02 21:38:37

标签: ios uiwebview

我有一个webview,可以在viewDidLoad Event中加载一个网站:

- (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)命令记录正确的网址!当我将其复制并粘贴到浏览器中时,它可以正常工作。

源代码本身也有效。当我加载www.google.de时,webView会导航到新页面。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试忽略缓存:

[NSURLRequest requestWithURL:websiteURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:0.0]