获取UIWebView的当前URL
我已经尝试使用 webview.request.URL
获取 UIWebView
的当前 URL。 不幸的是,NSURL
是空的。这里有什么问题吗?我正在使用 Xcode 3.2.2 beta 5。
上面的代码应该在 UIWebView
委托 didStartLoad
中执行。
I already tried getting the current URL of my UIWebView
with: webview.request.URL
.
Unfortunately the NSURL
was empty. Anything wrong here? I am working with Xcode 3.2.2 beta 5.
The code above should be executed in the UIWebView
delegate didStartLoad
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(14)
通过 JS 的 window.location 对我来说并不能可靠地工作,但这确实有效:
信用:
http://mohrt.blogspot.com/2008/10/getting -url-from-uiwebview.html
window.location via JS didn't work reliably for me, but this did:
Credit:
http://mohrt.blogspot.com/2008/10/getting-url-from-uiwebview.html
这是我每次导航到 web 视图中的不同链接时用来获取 url 的代码:
here's the code I use to grab the url every time you navigate to a different link within the webview:
Matt 的版本更加简洁。我建议大家使用那个而不是这个
你可以尝试这个:
Matt's version is much cleaner. I recommend everyone to use that one instead of this
You could try this:
我也发现上面批准的答案并不可靠。
但稍微修改一下,它似乎每次都能工作:
请注意在 Javascript 中添加“.href”,因为它隐藏在代码行的末尾。
I too found that the approved answer above was not reliable.
But with a slight modification, it seems to work every time:
Note the addition of ".href" to the Javascript as this is hidden at the end of the line of code.
这是不正确的,会返回 nil:
但是,下面的代码可以获取一个 URL,但该 url 可能不是当前的 URL:
正确的是:
This is not correct, and will return a nil:
However, the code below can get a URL, but the url may not be the current URL:
The correct one is:
在 iPhone 上尝试使用 google 搜索结果:
两者都返回相同的字符串!
Tried this for google search results on iPhone:
Both return the same string!
由于 UIWebView 已被弃用,WKWebview 获取当前 url 非常简单。
As UIWebView is deprecated, for WKWebview to get the current url is very simple.
这是我使用的代码:
here the code i use :
我使用
shouldStartLoadWithRequest
事件 (UIWebViewDelegate) 来捕获 URL 更新。request.mainDocumentURL.absoluteString
将获取主网页的 URL(通常是您想要的),而request.URL.absoluteString
将包含 CSS 和 JavaScript。I use the
shouldStartLoadWithRequest
event (UIWebViewDelegate) to catch URL updates.request.mainDocumentURL.absoluteString
will get you the main web page's URL (which is normally what you want), whilerequest.URL.absoluteString
will include CSS and JavaScript includes.这总是有效的。 。
This always works . .
实现委托方法,
URL就是你真正需要的。
implement delegate method,
URL is the what you exactly needed.
在 Swift 中试试这个,
IN Swift try this,
获取 WKWebView 和 UIWebview 的当前 URL
这是代码。
To get current URL of the WKWebView and UIWebview
Here is the code.