Как получить хеш-фрагмент URL из UIWebView - PullRequest
2 голосов
/ 20 июня 2011

Я пытаюсь получить хеш-фрагмент URL-адреса, загруженного в UIWebView, я пробовал разные подходы, которые, похоже, не работают.

Например, если 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];

тогда я хочу получить полный URL, но он возвращает только "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 ]

2 голосов
/ 20 июня 2011

Попробуйте NSString *fragment = [webView.request.URL fragment];

1 голос
/ 08 мая 2013

[webview stringByEvaluatingJavaScriptFromString:@"window.location.hash"] - единственный способ получить хеш-фрагмент в моем случае.

Я потерпел неудачу на подходах 1 и приблизился к 2

, возможно, ваш код неверен в другом случае .......

0 голосов
/ 10 июня 2016

Я думаю, вы должны проверить, что в request.url.absolutestring есть фрагмент в mustStartLoadWithRequest, webViewDidFinishLoad.

0 голосов
/ 03 июля 2012

Используйте следующий фрагмент кода
NSLog (@ "Фрагмент хэша:% @", [NSString stringWithFormat: @ "% @", webview.request.URL.fragment]);

...