Infinite Possibilities
Infinite Possibilities

Reputation: 7466

Calling javascript from objective-c code

I found a lots of ways to call objective-c code from javascript, but I want to call the javascript code from objective-c. Last time I submitted a HTML FORM from objective-c, and now I wan't to call a javascript method. What do you think, is there any way to call it and get the response? I am interested in any solution, but I started to think and I think I need to send a html call or something like this, but I am not sure about this because the javascript is client side code, so maybe I need to process it from my objective-c code. What do you think about this?

Upvotes: 2

Views: 1569

Answers (2)

ExitToShell
ExitToShell

Reputation: 460

Sounds like you are using a WebKit embedded in your app to link JavaScript to your "native" Obj-C code right?

If so you simply do this:

    NSString* script = @"function __wrapper() { return (typeof webNodeEvent == \"function\") } __wrapper();";

    id resultObj = [nodeScriptObject evaluateWebScript:script];

    if ([resultObj boolValue]) { // its there, call it

        [nodeScriptObject callWebScriptMethod:@"webNodeEvent" withArguments:[NSArray arrayWithObject:eventType]];

    }

The nodeScriptObject is from the WebView and is just the JavaScript object.

Upvotes: 1

Ben Zotto
Ben Zotto

Reputation: 71008

Are you looking for UIWebView's stringByEvaluatingJavaScriptFromString: method?

This lets you run JS code inside of the sandbox of a web view, from Objective-C.

Upvotes: 2

Related Questions