【问题标题】:UIWebView Link ClickUIWebView 链接点击
【发布时间】:2011-07-11 14:27:42
【问题描述】:

在我的应用程序中,某些 HTML 页面加载到 web 视图中。我需要点击某些标签,如“神经元”,并且应该在另一个视图中显示它们的描述。如何在 webview 中获取标签点击和点击标签?

【问题讨论】:

    标签: iphone uiwebview


    【解决方案1】:

    使用委托来确定导航类型!

    我的片段

    - (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;
    
    }
    

    【讨论】:

    • 如果你有 instagram 嵌入并点击个人资料链接,它不起作用。它将类型检测为 Other,这很奇怪。
    【解决方案2】:

    “标签”是指“链接”吗?如果是这样,给 UIWebView 一个委托并实现webView:shouldStartLoadWithRequest:navigationType。每当用户点击 UIWebView 中的链接时都会调用它。

    【讨论】:

    • 实际上它不会总是被调用。例如,在某些 m.youtube.com 页面中。
    • @cprcrack 你知道为什么它不会被调用吗?我在其他一些网站上看到了类似的行为。
    【解决方案3】:

    实现这一点很简单。每次 webview 想要加载一些东西时,它都会调用

    webView:shouldStartLoadWithRequest:navigationType
    

    传入与超链接关联的 url。在这里,您可以解析 NSURLRequest 参数并处理您想要在本机代码中执行的操作。

    (记住,返回 NO 以阻止 UIWebView 之后实际加载链接)

    【讨论】:

      猜你喜欢
      • 2013-07-31
      • 1970-01-01
      • 2014-02-25
      • 1970-01-01
      • 2011-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-01
      相关资源
      最近更新 更多