我正在使用UIWebView
并加载NSURL
当我点击此方法的链接时,该页面中有4个链接。这很好
-(BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
{
}
转到下一页后,我的UINavigationBar
会显示back button
-(void)backButtonClicked
{
if ( myWebView.loading)
{
[myWebView goBack];
}
}
将我带回主页面,但如果我再次单击相同的链接,则不会调用委托方法。这是为什么?每次点击链接时我都需要获取当前的URL。
答案 0 :(得分:2)
你可以试试这个:
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location"];
答案 1 :(得分:1)
在委托中试试......
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSLog(@"Webview url: %@",webView.request.URL.absoluteString);
}
答案 2 :(得分:0)
您必须将所有打开的URL存储在一个数组中,当后退按钮检查点击的链接是否与最后一个对象的数组中存储的链接相同时,然后重新加载Web视图。