【发布时间】:2014-12-24 15:51:27
【问题描述】:
我们正在使用带有多个插件的 Cordova 开发一个移动应用程序,并通过 Ripple 模拟器在 Chrome 中进行检查。显然,有些插件使用了 Ripple 未实现的原生功能,这破坏了 Chrome 中的部分应用功能。
问题:如何给Ripple添加模拟器功能?下面显示了我到目前为止发现的内容以及使其正常工作所缺少的内容。
在控制台中可以看到如下错误:
missing exec:Keyboard.close
ripple.js:40 TypeError: Cannot read property 'close' of undefined
at ripple.define.module.exports.exec (http://localhost:4428/ripple/assets/ripple.js:40:28665)
at Function.Keyboard.close (http://localhost:4428/plugins/com.ionic.keyboard/www/keyboard.js:14:2)
...
在keyboard.js:
exec = require('cordova/exec');
// Line 14, where from the exception stacktrace
exec(null, null, "Keyboard", "close", []);
通过一些谷歌搜索,很明显cordova.exec 是 Javascript 部分和本机后端之间的连接器。我认为,Ripple 应该取代它,并且确实有一个 bridge.js 大概就是这样做的。它甚至具有add() 功能,显然是针对用户提供的模拟器。所以我摸索着,在我的代码中我应该写这样的东西:
var bridge = ripple('platform/cordova/2.0.0/bridge');
bridge.add(
"Keyboard",
{ close: function () {} }
);
唉,ripple 在应用范围内未定义。这是缺少的部分 - 如何访问ripple?
【问题讨论】:
标签: cordova cordova-plugins ripple