【发布时间】:2011-07-11 14:27:42
【问题描述】:
在我的应用程序中,某些 HTML 页面加载到 web 视图中。我需要点击某些标签,如“神经元”,并且应该在另一个视图中显示它们的描述。如何在 webview 中获取标签点击和点击标签?
【问题讨论】:
在我的应用程序中,某些 HTML 页面加载到 web 视图中。我需要点击某些标签,如“神经元”,并且应该在另一个视图中显示它们的描述。如何在 webview 中获取标签点击和点击标签?
【问题讨论】:
使用委托来确定导航类型!
我的片段
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
if (navigationType == UIWebViewNavigationTypeLinkClicked){
NSURL *url = request.URL;
[self openExternalURL:url];//Handle External URL here
}
return YES;
}
【讨论】:
“标签”是指“链接”吗?如果是这样,给 UIWebView 一个委托并实现webView:shouldStartLoadWithRequest:navigationType。每当用户点击 UIWebView 中的链接时都会调用它。
【讨论】:
实现这一点很简单。每次 webview 想要加载一些东西时,它都会调用
webView:shouldStartLoadWithRequest:navigationType
传入与超链接关联的 url。在这里,您可以解析 NSURLRequest 参数并处理您想要在本机代码中执行的操作。
(记住,返回 NO 以阻止 UIWebView 之后实际加载链接)
【讨论】: