New project - cordova-plugin-device - error 'device' is not defined
-
Hello,
I created a new quasar project, added cordova and played around a little bit.Everything is working, I can deploy the app on my phone and run it in the emulator.
Right now, I need to get some device information and I wanted to use cordova-plugin-device for that. The plugin is loading, like every plugin I installed. I can see it in the developer window (safari).
Now, I try to get the device information, like it is described in the documentation:
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-device/index.html
Something like that in the App.vue:
mounted: function () { document.addEventListener('deviceready', this.onDeviceReady, false) }, methods: { onDeviceReady: function () { console.log('cordova', cordova) console.log('device', device) } ...
But the following error always appears in the console:
error ‘device’ is not defined no-undef
How can I solve that? I removed the platform already and re-added it.
I am out of ideas and cannot find anything related on the internet.
Thanks in advance
Cheers
Basti -
@Basti I think
cordova.plugins.device
is the way (for this plugin), i use it in my project, will check later coz im on mobile atm. -
@metalsadman Thanks for the fast reply!
cordova.plugins
is undefined.
When I look into the cordova_plugins.jscordova.define('cordova/plugin_list', function(require, exports, module) { module.exports = [ { "id": "cordova-plugin-device.device", "file": "plugins/cordova-plugin-device/www/device.js", "pluginId": "cordova-plugin-device", "clobbers": [ "device" ] }, { "id": "cordova-plugin-splashscreen.SplashScreen", "file": "plugins/cordova-plugin-splashscreen/www/splashscreen.js", "pluginId": "cordova-plugin-splashscreen", "clobbers": [ "navigator.splashscreen" ] }
The “clobbers” are just directly
device
ornavigator.splashscreen
.I can access
navigator.splashscreen
but notdevice
. -
@Basti Hmm look like it’s should be
window.dev ice
then. Edit. Confirmed i am usingwindow.device
. -
@metalsadman Thank you SO much!
window.device
has been the solution! I still don’t really get why, because I can access the rest of the plugins directly but its working like charm!You the best!
Edit: I was already looking into the window object but could not find the device prop, so I was not even trying
window.device
. Magic happens. -
@Basti not all cordova plugins are accessible the same way, some can be on cordova.plugins, navigator, window etc…
-
@metalsadman Hi friend. I’m to trying use the cordova file plugin but on Android I can’t access to cordova.file is undefined. I was put window, navigator, cordova, this.$q.cordova and doesn’t work. I dont know what to do already. Can you help me?