从objective-c代码调用javascript

时间:2010-03-17 15:49:18

标签: javascript objective-c iphone iphone-sdk-3.0

我发现有很多方法可以从javascript调用objective-c代码,但我想从objective-c调用javascript代码。上次我从objective-c提交了一个HTML FORM,现在我不想调用一个javascript方法。您怎么看?有什么方法可以调用它并获得响应吗?我对任何解决方案感兴趣,但我开始思考,我认为我需要发送一个html调用或类似的东西,但我不确定这是因为javascript是客户端代码,所以我可能需要处理它我的Objective-c代码。 你怎么看待这个?

2 个答案:

答案 0 :(得分:2)

您在寻找UIWebView的stringByEvaluatingJavaScriptFromString: method吗?

这使您可以从Objective-C中在Web视图的沙箱中运行JS代码。

答案 1 :(得分:1)

听起来您正在使用应用中嵌入的WebKit将JavaScript链接到您的“原生”Obj-C代码吗?

如果是这样,你只需这样做:

    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]];

    }

nodeScriptObject来自WebView,只是JavaScript对象。