【发布时间】:2015-11-29 09:11:44
【问题描述】:
我有一个 UIWebView,一旦我的应用程序被加载,它就会加载一个 url。
网页有不同的链接供用户访问。
我希望能够查看他们将要访问的链接,并且如果它们与特定文本匹配,还能够更改 url。我不关心 ajax 请求(它们与文本不匹配)。
有什么功能可以用来做这个吗?
【问题讨论】:
标签: ios objective-c uiwebview
我有一个 UIWebView,一旦我的应用程序被加载,它就会加载一个 url。
网页有不同的链接供用户访问。
我希望能够查看他们将要访问的链接,并且如果它们与特定文本匹配,还能够更改 url。我不关心 ajax 请求(它们与文本不匹配)。
有什么功能可以用来做这个吗?
【问题讨论】:
标签: ios objective-c uiwebview
您必须实现 UIWebViewDelegate。它的方法之一是 webView:shouldStartLoadWithRequest:navigationType:,每当用户导航到另一个 URL 时都会调用它。从传入的 NSURLRequest 中,您可以获取 URL。最后一个参数 (UIWebViewNavigationType) 告诉您什么用户操作导致了请求,例如点击页面中的链接。
【讨论】:
shouldStartLoadWithRequest,使用 decidePolicyForNavigationAction 作为示例 here。 请注意,我没有将其作为 OP 要求 UIWebView 的单独答案