我正在尝试制作一个事件,当在webView中的网站上按下特定按钮时,该事件将被调用(并且将在iPhone上执行Objective-c代码)。 我认为简单的方法是监听webView的HTTP请求。 我能这样做吗?
答案 0 :(得分:3)
在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>
(您可以在此处使用<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;
}