晚上好
我们能否检测到在 UIWebView 中加载的网站中出现的确认对话框。如果有人知道如何在 UIWebView
Delegate 方法中处理。给出了我在网站上查看的源文件中编写的以下代码。
<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
委托(delegate)方法中的值?
我需要检查 onclick="return Cancel();
它在哪里生成确认对话框
最佳答案
所以你想从 Javascript 向 Cocoa 发送消息,对吗?最简单的方法是从 Javascript 打开一个带有自定义 URL 方案的 URL。然后在
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
您可以捕获此 URL 请求并在 Cocoa 中执行任何您喜欢的操作。如果您想传递参数,您也可以在 URL 请求中发送这些参数。
为了让事情更简单,有一个很好的框架:https://github.com/ochameau/NativeBridge
关于javascript - 获取UIWebView中确认对话框的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17301705/