2

当我单击调用此方法的链接时,我正在使用UIWebView并加载NSURL 该页面中有 4 个链接。这很好

-(BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
}

移至下一页后,我UINavigationBar显示了back button

 -(void)backButtonClicked
{
if ( myWebView.loading) 
{
    [myWebView goBack];
       } 
}

这将我带回主页,但如果我再次单击相同的链接,则不会调用委托方法。这是为什么?每次单击链接时,我都需要获取当前网址。

4

3 回答 3

2

你可以试试这个:

NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location"];
于 2012-12-20T06:45:09.193 回答
1

在委托中尝试这个...

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{
    NSLog(@"Webview url: %@",webView.request.URL.absoluteString);
}
于 2013-07-25T12:54:07.270 回答
0

您必须将所有打开的 URL 存储在一个数组中,并在返回按钮时检查点击的链接是否与最后一个对象的数组中存储的链接相同,然后重新加载 Web 视图。

于 2012-12-18T14:19:41.083 回答