我的Cordova项目中有一个后台模式插件,每次尝试使用cordova.plugins.backgroundMode
访问它时,都会收到错误消息:Cannot read property 'backgroundMode' of undefined
。
我进入了main.js文件,并使用console.log();
记录了变量cordova
和cordova.plugins
。 cordova.plugins
返回了值undefined
,其中cordova
返回了一个对象。但是,该对象不包含plugins
键,因此说明了返回的undefined
值。
我尝试访问cordova
变量的代码确实位于deviceready
事件中。我还链接了cordova.js
文件中的index.html
。
我的deviceready
事件处理程序位于main.js文件的顶部。
// The deviceready event.
document.addEventListener('deviceready', () => {
console.log(cordova); // returns an object.
console.log(cordova.plugins); // returns undefined.
cordova.plugins.backgroundMode.enable(); // error here at 'cordova.plugins'.
}, false);
我使用过的后台模式插件here及其文档都可以找到。
这是我在控制台中运行cordova plugins ls
(命令提示符)时显示的内容:
cordova-plugin-background-mode 0.7.2 "BackgroundMode"
cordova-plugin-whitelist 1.3.4 "Whitelist"
总而言之,我的Cordova应用不允许我访问cordova.plugins
对象下的cordova
变量。我正在deviceready
事件处理程序中访问它,并且已链接到cordova.js
文件中的index.html
文件。