2

晚上好,

我们能否检测到 UIWebView 中加载的网站中出现的确认对话框。如果有人知道如何在UIWebViewDelegate 方法中处理。下面给出了我在网站上查看的源文件中编写的代码。

<span>
 <input type="submit" id="cancel" value="Cancel" name="cancel" style="display: none;" /><a
  href="#" onclick="return Cancel();" tabindex="8" class="cancel_link">Cancel</a>
  </span>
 function Cancel() 
 {
    if (confirm('Are you sure you want to exit? Your purchase has not completed. Click Cancel to return to WebPAY. Click OK to return to the merchant site.')) 
     {
        $('#cancel').click();
        return true;
      }
    return false;
 }

如何获取UIWebView委托方法中的值?

我需要检查onclick="return Cancel();生成确认对话框的位置

4

1 回答 1

0

所以你想用 Javascript 给 Cocoa 发送消息,对吧?最简单的方法是使用来自 Javascript 的自定义 URL 方案打开一个 URL。然后在

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

你可以捕获这个 URL 请求并在 Cocoa 中做任何你喜欢的事情。如果你想传递参数,你也可以在 URL 请求中发送这些参数。

为了让事情变得更容易,有一个很好的框架:https ://github.com/ochameau/NativeBridge

于 2014-02-24T16:20:57.380 回答