【问题标题】:Getting signals from uiwebview从 uiwebview 获取信号
【发布时间】:2011-11-30 10:19:20
【问题描述】:

是否有可能从uiwebview 获得信号?

就我而言,我在 webview 中显示了一个网页。当用户按下网站上的按钮时,我的应用程序应该(也)对此做出反应。

感谢您的帮助

【问题讨论】:

    标签: iphone uiwebview webview


    【解决方案1】:

    是的,您可以这样做。实施

    – webView:shouldStartLoadWithRequest:navigationType:
    

    这个delegate 。每当您的 webview 即将发出请求时,都会调用此方法。所以现在当有人点击你网页上的按钮时,你会得到这个方法的调用。接到这个电话后,你可以选择用它做任何你想做的事情。例如通过您自己的服务器重定向链接,或向您的服务器记录有关用户活动等的请求。

    示例 - 在这里,您试图拦截点击您网页的任何链接并首先通过 myMethodAction 传递。

    - (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
    { 
        if(navigationType == UIWebViewNavigationTypeLinkClicked)
        {
             if(overrideLinksSwitch.on == TRUE)
             {
                 [self myMethodAction];
                 [myWebView stopLoading];
                 return YES;
             }
            else
            {
                return YES;
            }
        }
        return YES;
    }
    

    希望这会有所帮助...

    【讨论】:

      【解决方案2】:

      UIWebViewDelegate 提供了几种方法。我曾经像这样使用过其中一个

      -(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
          if ( inType == UIWebViewNavigationTypeLinkClicked ) {
              // do stuff
              return NO;
          }
      
          return YES;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-23
        • 1970-01-01
        相关资源
        最近更新 更多