【问题标题】:How to call a method when a URL is hit inside UIWebView?在 UIWebView 中点击 URL 时如何调用方法?
【发布时间】:2016-03-09 09:32:52
【问题描述】:

我正在 UIWebView 中加载一个 URL。它会打开一个包含一些 URL 链接的网页。单击特定链接时是否可以调用方法。

我只是想在我的 iOS 应用中检测 UIWebView 内的 URL 点击。

谢谢。

【问题讨论】:

标签: ios iphone url uiwebview


【解决方案1】:

是的,UIWebViewDelegate 协议中有方法。将您的控制器作为delegate 添加到UIWebView。

self.webView.delegate = self;

然后实现委托的方法:

- webView:shouldStartLoadWithRequest:navigationType:`

您应该阅读它的文档。可以看到,一个参数是navigationType,你只对UIWebViewNavigationTypeLinkClicked感兴趣。

【讨论】:

    【解决方案2】:

    就像 Timur 所说,将 UIWebViewDelegate 添加到您的 viewController 中 然后你可以使用这样的方法:

    -(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
        if ( [[[inRequest URL] scheme] isEqualToString:@"js-call"] ) {
    
            // Do something interesting...
           return NO;
        }
    
        return YES;
    }
    

    然后我使用了 js 调用,但你也可以使用链接:

    window.location.href = "js-call:myEvent";
    

    【讨论】:

      猜你喜欢
      • 2014-02-25
      • 1970-01-01
      • 1970-01-01
      • 2013-12-20
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      • 1970-01-01
      • 2011-05-02
      相关资源
      最近更新 更多