从uiwebview获取信号



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

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

Thanks for help

是的,你可以这样做。实施

– webView:shouldStartLoadWithRequest:navigationType:

这个委托。当你的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;
}

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

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

最新更新