用户交互已启用Javascript

时间:2012-07-07 13:01:22

标签: javascript jquery objective-c ios uiwebview

我正在编写一个Javascript应用程序,并将其包装在本机iOS应用程序中。我希望在事件发生后的一两秒内阻止包含JS应用程序的UIWebView上的用户交互。

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

猜测某种触摸事件的返回false?滚动我要阻止。

谢谢!

1 个答案:

答案 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://";