2011-11-30 59 views
0

是否有可能从uiwebview获取信号?从uiwebview获取信号

就我而言,我在webview中显示一个网页。当用户按下网站上的按钮时,我的应用程序应该(也)对此做出反应。

感谢您的帮助

回答

2

是的,你可以做到这一点。实施

– webView:shouldStartLoadWithRequest:navigationType: 

delegate。只要您的webview即将发出请求,就会调用此方法。所以现在当有人点击你的网页上的一个按钮,你会得到一个这种方法的调用。在您接听此通话后,您可以选择随心所欲地执行任何操作。如通过您自己的服务器重定向链接,或者向用户活动等的服务器登录请求。

示例 - 此处您试图拦截在您的网页上点击的任何链接&先通过myMethodAction

- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType 
{ 
    if(navigationType == UIWebViewNavigationTypeLinkClicked) 
    { 
     if(overrideLinksSwitch.on == TRUE) 
     { 
      [self myMethodAction]; 
      [myWebView stopLoading]; 
      return YES; 
     } 
     else 
     { 
      return YES; 
     } 
    } 
    return YES; 
} 

希望这有助于...

0

UIWebViewDelegate提供几种方法。我曾经使用过其中一个像这样

-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType { 
    if (inType == UIWebViewNavigationTypeLinkClicked) { 
     // do stuff 
     return NO; 
    } 

    return YES; 
}