Para executar um javascript no iOS, basta criar uma instância/objeto da classe UIWebView e chamar o método stringByEvaluatingJavaScriptFromString.
Vamos ao exemplo:
//Reescrevendo o método viewDidAppear da classe UIViewController (controle da tela)
- (void) viewDidAppear:(BOOL)animated
{
//Chamando o método da classe herdada (pai)
[super viewDidAppear: animated];
//"Aloca memória" - Instância o objeto
UIWebView* webView = [[UIWebView alloc] init];
//Abre uma caixa de prompt (javascript)
NSString* address = [webView stringByEvaluatingJavaScriptFromString: @"prompt('Entre com um IP:')"];
//Loga o valor da variável address
NSLog(@"%@", address);
//"Desaloca memória"
[webView release];
}
Simples não? O mais legal é que dá para carregar uma página e percorrer ela pelas funções DOM:
...
@synthesize webView;
...
- (void) viewDidLoad
{
//Chamando o método da classe herdada (pai)
[super viewDidLoad];
//Instância para o objeto webView
webView = [[UIWebView alloc] init];
//Objeto instanciado url
NSURL* url = [NSURL URLWithString: @"http://blogdotakemura.blogspot.com"];
//Objeto instanciado request
NSURLRequest* request = [NSURLRequest requestWithURL: url];
//Setando o objeto que implementa o protocolo UIWebViewDelegate
self.webView.delegate = self;
//Carregando a página da URL
[self.webView loadRequest: request];
}
...
//Método implementado do protocolo UIWebViewDelegate
- (void) webViewDidFinishLoad: (UIWebView*) wv
{
NSString* titulo = [self.webView stringByEvaluatingJavaScriptFromString: @"document.getElementsByTagName('h1')[0].innerHTML"];
NSLog(@"%@", titulo);
}
...
- (void)viewDidUnload
{
[super viewDidUnload];
self.webView = nil;
}
...
Até mais!
Nenhum comentário:
Postar um comentário