Phonegap/Cordova 2.9自定义插件创建.任何工作示例
Phonegap/Cordova 2.9 Custom Plugin creation. Any working examples?
我知道github上有很多phonegap/cordova插件的例子,但我看到插件的构建方式有很多不一致。结构看起来是相同的(在大多数情况下),但几乎每种结构的代码和实现都不同。这让我不得不问几个问题。
-
2.9文档说要使用在配置中声明插件的方法,但我收到了使用该方法的构建警告。我应该两者都用吗?
-
在javascript中,声明/实例化插件的正确方式是什么?
-
我是否通过窗口引用我的插件的方法。MyPlugin.myMethod还是只是window.myMMethod?
我还有更多的问题,但代码将是惊人的。
有人有一个绝对简单的例子,可以为iOS平台的cordova 2.9定制插件吗?
这是我几天前写的一个非常简单的插件,它只是为了测试构建一个基于iOS的Cordova插件。
JS:
var tester = function() {};
tester.prototype.test = function () {
cordova.exec(
function(result) {
navigator.notification.alert('test plugin returned: '+result);
},
function() {
navigator.notification.alert('test plugin error');
},
'TestPlugin',
'test',
['Your test string']
);
};
if(!window.plugins) {
window.plugins = {};
}
if (!window.plugins.tester) {
window.plugins.tester = new tester();
}
调用方:
<button onclick="window.plugins.tester.test()">TEST PLUGIN</button>
TestPlugin.h:
#import <Cordova/CDV.h>
@interface TestPlugin : CDVPlugin
- (void)test:(CDVInvokedUrlCommand*)command;
@end
TestPlugin.m:
#import "TestPlugin.h"
#import <Cordova/CDV.h>
@implementation TestPlugin
- (void)test:(CDVInvokedUrlCommand*)command
{
CDVPluginResult* pluginResult = nil;
NSString* testString = [command.arguments objectAtIndex:0];
if (testString != nil && [testString length] > 0) {
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:testString];
} else {
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR];
}
[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
}
@end
添加到/platforms/ios/{PROJECT_NAME}/Resources/config.xml:
<plugin name="TestPlugin" value="TestPlugin" />
相关文章:
- 创建一个数组数组,没有任何重复的Javascript
- Google 脚本:用于创建日历活动的脚本运行时不会出错,但不会执行任何操作
- jQuery选择器不识别任何动态创建的HTML输入函数
- 如何创建php函数或任何脚本/jquery Javascript,使我能够获取与复选框关联的值并添加它们
- 使用Javascript创建的Cookie在C#代码中不可访问..任何原因或其他选择
- 创建按钮不调用表单内的任何操作
- 从任何jquery选择器字符串创建元素的最有效方法
- 我正在尝试为一个网站创建一个文本框,可以将文本更改为用户希望的任何格式
- 我需要创建一个事件侦听器.但是我不想使用任何框架
- 如何创建一个浏览按钮,通过该按钮我可以选择系统的任何路径,即C:Program Files.并将其放入文本框中
- 如果不存在任何段落,Angular JS将默认创建段落
- 如果我可以随时将任何属性插入对象,那么在javascript中创建类有什么用
- 创建可在任何地方使用的 JS 函数?范围和功能“未定义”的问题
- 创建一个不执行任何操作的 JavaScript 对象
- 无法获取在 JS 中创建的表(或正文中的任何内容)以显示在浏览器中
- 如果我动态创建jquery UI对话框,除了在单页应用程序中调用对话框(“关闭”)之外是否有任何清理
- 如何创建动态文本并使用 KineticJS 对其进行编辑.任何可以说明的例子都会很棒
- 尝试创建一个简单的表单,如果未填写任何内容,该表单将显示错误
- JavaScript:任何创建X轴网格的方法,并在放置角色的游戏中使用它
- 任何创建扩展数组的对象的方法