如何正确处理UIWebView中的重定向,而不是混淆后退按钮历史记录?
我在UIWebView中有一个URL请求(例如“http://www.example.com/lunch_menu.php”),该请求重定向到每周更新的PDF文件(例如“http://www.example.com/” august_kw1.pdf“)。
重定向到PDF文件后,UIWebView的后退按钮包含PHP文件的URL。如果我点击后退按钮,它会再次重定向到PDF文件,从而产生无限的交互循环。
我想知道是否有办法以明确的方式处理这个问题?我想保留UIWebView的后退按钮历史记录而不是自己编写的....
问候, helli99
答案 0 :(得分:4)
您可以添加UIWebViewDelegate
分配您的WebView.delegate = self;
然后添加此方法:
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if(request.URL == [NSURL URLWithString:@"http://www.example.com/august_kw1.pdf"])
{
} else {
}
return YES;
}
然后在那里处理你自己的方法。
答案 1 :(得分:0)
您可以使用JavaScripts注入:
回去:
[ yourWebView stringByEvaluatingJavaScriptFromString:@"history.back();"];
前进:
[ yourWebView stringByEvaluatingJavaScriptFromString:@"history.forward();"];
这有用吗?