我正在编写一个Javascript应用程序,并将其包装在本机iOS应用程序中。我希望在事件发生后的一两秒内阻止包含JS应用程序的UIWebView上的用户交互。
通常我会使用self.webView.userinteractionenabled = NO,但事件是在Javascript中触发的。如何阻止用户与Web视图交互?
猜测某种触摸事件的返回false?滚动我要阻止。
谢谢!
答案 0 :(得分:0)
当您的Javascript代码中发生事件时,您可以使用以下方法向本机包装器发送消息:
设置以下UIWebViewDelegate方法(不要忘记为UIWebView设置委托):
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSURL *url = [request URL];
if ([[url scheme] isEqualToString:@"block"]) {
// do the your blocking code here
return NO;
}
return YES;
}
现在,当您的活动发生时,请从您的javascript代码中调用委托方法:
window.location.href = "block://";