Monday, June 3, 2013

UIWebView UIWebViewNavigationTypeBackForward example in Objective C (iOS).


UIWebView UIWebViewNavigationTypeBackForward

UIWebViewNavigationType
Constant indicating the user’s action.

enum {
UIWebViewNavigationTypeLinkClicked,
UIWebViewNavigationTypeFormSubmitted,
UIWebViewNavigationTypeBackForward,
UIWebViewNavigationTypeReload,
UIWebViewNavigationTypeFormResubmitted,
UIWebViewNavigationTypeOther
};
typedef NSUInteger UIWebViewNavigationType;

Constants
UIWebViewNavigationTypeLinkClicked
User tapped a link.
UIWebViewNavigationTypeFormSubmitted
User submitted a form.
UIWebViewNavigationTypeBackForward
User tapped the back or forward button.
UIWebViewNavigationTypeReload
User tapped the reload button.
UIWebViewNavigationTypeFormResubmitted
User resubmitted a form.
UIWebViewNavigationTypeOther
Some other action occurred.

UIWebView UIWebViewNavigationTypeBackForward example.
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSLog(@"shouldStartLoadWithRequest");

    if ( navigationType == UIWebViewNavigationTypeLinkClicked ){
        NSLog(@"UIWebViewNavigationTypeLinkClicked");

        return YES;
    }
    if (navigationType ==UIWebViewNavigationTypeFormSubmitted ) {
        NSLog(@"UIWebViewNavigationTypeFormSubmitted");
        return YES;
    }
    if (navigationType ==UIWebViewNavigationTypeBackForward) {
        NSLog(@"UIWebViewNavigationTypeBackForward");
        return YES;
    }
    if (navigationType ==UIWebViewNavigationTypeFormResubmitted) {
        NSLog(@"UIWebViewNavigationTypeFormResubmitted");
        return YES;
    }
    if (navigationType ==UIWebViewNavigationTypeReload) {
        NSLog(@"UIWebViewNavigationTypeReload");
        return YES;
    }


    return YES;
}

Example of [UIWebView UIWebViewNavigationTypeBackForward].
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
{
   
    if  (navigationType == UIWebViewNavigationTypeLinkClicked || navigationType == UIWebViewNavigationTypeBackForward)
    {
        NSURL *loadURL = [[request URL] retain];
        [[UIApplication sharedApplication] openURL:loadURL]; // Ну или что вы хотите делать с этой ссылкой
        [loadURL release];
        return NO;
    }
    return YES;
}

UIWebView UIWebViewNavigationTypeBackForward example.
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request
navigationType:(UIWebViewNavigationType)navigationType
{
if (navigationType == UIWebViewNavigationTypeLinkClicked ||
navigationType == UIWebViewNavigationTypeFormSubmitted ||
navigationType == UIWebViewNavigationTypeBackForward ||
navigationType == UIWebViewNavigationTypeFormResubmitted)
{
         .....
        }

End of UIWebView UIWebViewNavigationTypeBackForward example article.