Javascript 调用cordova模块?
我发现,虽然没有使用说明 书写Javascript 调用cordova模块?,javascript,cordova,Javascript,Cordova,我发现,虽然没有使用说明 书写 MusicPlayer.init( function (msg) { console.log("audio completed"+ msg); }, // error callback function (e) { console.log("Error getting message=" + e); } ); return无法加
MusicPlayer.init(
function (msg) {
console.log("audio completed"+ msg);
},
// error callback
function (e) {
console.log("Error getting message=" + e);
}
);
return无法加载主模块:ReferenceError:未定义MusicLayer
模块的导出方式类似于module.exports=new MusicPlayer()代码>,那么调用它的方式就是它本身
正在尝试,window.cordova.plugins.Musicplay.init()代码>也给出了相同的错误
调用此模块并在cordova中使用的正确方法是什么
编辑-这是函数的定义方式
var exec = require('cordova/exec');
function MusicPlayer() {}
MusicPlayer.prototype.init = function(successCallback, errorCallback, json) {
exec(successCallback, errorCallback, "MusicPlayer", "init", [json]);
};
MusicPlayer.prototype.getMusicList = function(successCallback, errorCallback, json) {
exec(successCallback, errorCallback, "MusicPlayer", "getMusicList", [json]);
};
..
..
module.exports = new MusicPlayer();
检查打击目标:
小贴士:
- 运行
$cordova plugin list
- 请确保在内部调用
musicplayer.init
:
document.addEventListener(“deviceready”,function(){/**/}
成功了!如果你能告诉我,需要向函数传递什么?我尝试了从getMusicList
返回的第一个值,并将其添加为第三个参数。但它返回无效操作
?好吧,这不是你问的问题,但不管怎样,看到Android和iOS实现:。看起来他没有实现它在Android和iOS上都没有参数。很抱歉,这很糟糕;)。谢谢你帮了很多忙。
<js-module src="www/musicplayer.js" name="musicplayer">
<clobbers target="musicplayer" />
</js-module>
musicplayer.init(function (msg) {
console.log("audio completed"+ msg);
},
// error callback
function (e) {
console.log("Error getting message=" + e);
});