Files
phonegap-plugins/iOS/ChildBrowser/ChildBrowserCommand.m
RandyMcMillan 15c5d9d0c4 ChildBrowser (iOS) callback fix.
README.md update
index.html update
2012-05-05 16:37:49 -04:00

77 lines
2.2 KiB
Objective-C

// Created by Jesse MacFadyen on 10-05-29.
// Copyright 2010 Nitobi. All rights reserved.
// Copyright 2012, Randy McMillan
#import "ChildBrowserCommand.h"
#ifdef CORDOVA_FRAMEWORK
#import <Cordova/CDVViewController.h>
#else
#import "Cordova/CDVViewController.h"
#endif
@implementation ChildBrowserCommand
@synthesize childBrowser;
- (void) showWebPage:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options // args: url
{
if(childBrowser == NULL)
{
childBrowser = [[ ChildBrowserViewController alloc ] initWithScale:FALSE ];
childBrowser.delegate = self;
}
/* // TODO: Work in progress
NSString* strOrientations = [ options objectForKey:@"supportedOrientations"];
NSArray* supportedOrientations = [strOrientations componentsSeparatedByString:@","];
*/
#ifdef CORDOVA_FRAMEWORK
CDVViewController* cont = (CDVViewController*)[ super viewController ];
childBrowser.supportedOrientations = cont.supportedOrientations;
[ cont presentModalViewController:childBrowser animated:YES ];
#endif
NSString *url = (NSString*) [arguments objectAtIndex:0];
[childBrowser loadURL:url ];
}
- (void) getPage:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options {
NSString *url = (NSString*) [arguments objectAtIndex:0];
[childBrowser loadURL:url ];
}
-(void) close:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options // args: url
{
[ childBrowser closeBrowser];
}
-(void) onClose
{
NSString* jsCallback = [NSString stringWithFormat:@"window.plugins.childBrowser.onClose();",@""];
[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
}
-(void) onOpenInSafari
{
NSString* jsCallback = [NSString stringWithFormat:@"window.plugins.childBrowser.onOpenExternal();",@""];
[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
}
-(void) onChildLocationChange:(NSString*)newLoc
{
NSString* tempLoc = [NSString stringWithFormat:@"%@",newLoc];
NSString* encUrl = [tempLoc stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString* jsCallback = [NSString stringWithFormat:@"window.plugins.childBrowser.onLocationChange('%@');",encUrl];
[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
}
@end