获取UIWebview的当前域

时间:2012-07-17 03:15:55

标签: ios regex uiwebview nsstring

我想获取UIWebView的当前域

例如:

http://a.m.tmall.com/i15104234454.htm?sid=a0c935526ab19ee7051225579c90cf96&spm=875.124399.275145.1 - > tmall.com

有没有可靠的方法来做到这一点?

我看到有人建议:

 NSString *currentURL = myWebView.request.URL.absoluteString;

我知道正则表达式可以做到。还有别的吗?

2 个答案:

答案 0 :(得分:3)

首先,当您说要获取域名时,意味着什么。从本质上讲,你想要多么严谨?域解析可能非常复杂(请参阅:how to get domain name from URL)。

至少在开始时使用URL.absoluteURL.host而不是URL.absoluteString。这样您就不必从URL字符串中提取主机。

您可能还希望使用[webView stringByEvaluatingJavaScriptFromString:@"document.domain"]作为起点。至少通过这种方式,您将了解浏览器对该域的看法。

希望任何一个混乱都有帮助。

答案 1 :(得分:1)

在 Swift 中,您可以通过以下方式从 Web 视图中获取主机 URL:

webView.url?.host

更多信息here