0

我正在编写一个 Javascript 应用程序,并将其包装在一个原生 iOS 应用程序中。我想在事件发生后阻止用户在包含 JS 应用程序的 UIWebView 上进行一两秒钟的交互。

通常我会使用 self.webView.userinteractionenabled = NO 但事件是在 Javascript 中触发的。如何阻止用户与 Web 视图交互?

猜测在某种触摸事件上返回 false?我想阻止它滚动。

谢谢!

4

1 回答 1

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://";
于 2012-07-07T14:14:57.100 回答