通过 Cordova 插件从 Objective-C 调用 Javascript

Posted

技术标签:

【中文标题】通过 Cordova 插件从 Objective-C 调用 Javascript【英文标题】:Call Javascript from Objective-C through Cordova plugin 【发布时间】:2012-12-11 16:07:15 【问题描述】:

我正在开发一个使用 Phonegap (cordova 2.0.0) 的 iPad 应用项目。

我知道如何编写插件,这样我就可以从 javascript 调用本机方法,但我现在真正需要的是能够通过插件从我的本机代码调用 Javascript 方法。比如:

- (void) callTestJsFunction

    [super writeJavascript:@"testJsFunction();"];

这将调用位于www 文件夹中我的一个JS 文件中的testJsFunction()。我们正在使用处理一些逻辑的 Sencha Touch,我需要从 app.js 调用一个函数。

我在网上找不到任何此类示例,所以首先我想知道是否可以做这样的事情?如果有,怎么做?

【问题讨论】:

【参考方案1】:

您必须创建一个插件并将本机代码放在那里,而不是在 AppDelegate.m 中使用它。

从插件类你可以这样做:

NSString* jsString = [NSString stringWithFormat:@"myJSFunction(\"%@\");", stringParameter]; [self.webView stringByEvaluatingJavaScriptFromString:jsString];

Phonegap Cordova call javascript functions from Objective-C

【讨论】:

以上是关于通过 Cordova 插件从 Objective-C 调用 Javascript的主要内容,如果未能解决你的问题,请参考以下文章

用于与 C 库通信的 Cordova 插件

Cordova框架基本原理

来自实例方法的具有静态 void 的 Objective C Cordova 回调

未调用 Cordova 插件回调 (iOS)

如何使用 Objective-C 从 IOS Cordova 中的设备(本地数据库)中删除图像

Cordova 插件从本机函数获取异步响应