我正在编写一个Javascript应用程序,并将它包装在一个原生iOS应用程序中。我想在事件发生后的一两秒钟内阻止用户在包含JS应用程序的UIWebView上进行交互。
通常我会使用self.webView.userinteractionenabled = NO,但是这个事件是在Javascript中触发的。如何阻止用户与web视图交互?
在某种类型的触摸事件上猜测返回false?我想阻止的是滚动。
谢谢!
发布于 2012-07-07 22:14:57
当事件在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://";https://stackoverflow.com/questions/11375209
复制相似问题