从uiwebview获取信号

时间:2011-11-30 10:19:20

标签: iphone uiwebview webview

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

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

感谢您的帮助

2 个答案:

答案 0 :(得分: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;
}

希望这会有所帮助......

答案 1 :(得分:0)

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

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

    return YES;
}