我有一个在 viewDidLoad 事件中加载网站的 webview:
- (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 会导航到新页面。
有任何想法吗?
谢谢!