2012-07-07 51 views
0

我正在编写一个Javascript应用程序,并打算将它包装在本机iOS应用程序中。我想阻止包含JS应用程序的UIWebView上的用户交互,以在事件发生后的第二个或第二个事件中进行交互。启用用户交互功能Javascript

通常情况下,我会使用self.webView.userinteractionenabled = NO,但事件是在Javascript中触发的。我怎样才能阻止用户与网页视图交互?

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

谢谢!

回答

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://"; 
+0

优秀的,我不认为这样的沟通娃有可能!你让我的生活变得更轻松 – 2012-07-07 14:22:35