如何从UIWebView获取URL的哈希片段

时间:2011-06-20 07:32:23

标签: ios hash uiwebview nsurl fragment

我正在尝试获取在UIWebView中加载的URL的哈希片段,我尝试了它似乎不起作用的不同方法。

例如,如果UIWebView加载了“http://www.mysite.com/home#main”:

NSURL *url = [NSURL URLWithString:@"http://www.mysite.com/home#main"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];

然后我想获得完整的网址,但它只返回“http://www.mysite.com/home”有3种不同的方法:

1:

NSString *currentURL = [webView.request.URL absoluteString];

2:

NSString *currentURL = [NSString stringWithFormat:@"%@",[[webView request] URL]];

3:

NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"window.location.hash"];

我缺少什么

4 个答案:

答案 0 :(得分:2)

尝试NSString *fragment = [webView.request.URL fragment];

答案 1 :(得分:1)

[webview stringByEvaluatingJavaScriptFromString:@"window.location.hash"]是我成功获取哈希片段的唯一方法

我在方法1和方法2上失败了

也许你的代码在其他地方错了......

答案 2 :(得分:0)

使用以下代码段
NSLog(@“Hash fragment:%@”,[NSString stringWithFormat:@“%@”,webview.request.URL.fragment]);

答案 3 :(得分:0)

我认为你应该检查一下,request.url.absolutestring在shouldStartLoadWithRequest上有片段,webViewDidFinishLoad。