【问题标题】:How to listen HTTP requests sent by WebView (objective c)?如何监听 WebView 发送的 HTTP 请求(目标 c)?
【发布时间】:2012-02-02 15:49:13
【问题描述】:

我正在尝试创建一个事件,当在 webView 中的网站上按下特定按钮时,该事件将被调用(并将在 iPhone 上执行 Objective-c 代码)。 我认为的简单方法是监听 webView 的 HTTP 请求。 我可以这样做吗?

【问题讨论】:

    标签: objective-c webview


    【解决方案1】:

    在您的 HTML 中,为 URL 提供一个特殊的方案。在本例中,方案为perform

    <!-- ontouchstart tells WebKit to send us mouse events on a touch platform so we can use :active -->
    <button class="button" ontouchstart="" onclick="window.open('perform:MAX')">MAX</button>
    

    (您可以在此处使用&lt;a href 或其他技术。此示例来自使用onclick 有用的代码。)

    将您的控制器设置为UIWebView 的代理。然后实现这个委托方法:

    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request 
                                                     navigationType:(UIWebViewNavigationType)navigationType
    {
      NSURL *url = request.URL;
      if ([[url scheme] isEqualToString:@"perform"])
      {
        // url.resourceSpecifier will be @"MAX" in this example
        // Do something with it.
        return NO;
      }
    
      return YES;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-11
      • 2013-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多