[
https://issues.apache.org/jira/browse/CB-8830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14515063#comment-14515063
]
Rob Paveza commented on CB-8830:
--------------------------------
You're doing it wrong. If you're trying to view a page in a browser (which is
clearly the case if you're using "cordova serve"), you shouldn't be using the
Windows platform. You should be using the Browser platform - cordova platform
add browser.
Similarly, you wouldn't expect the Android iOS platforms to work in the browser.
> application locks up when run with "cordova serve"
> --------------------------------------------------
>
> Key: CB-8830
> URL: https://issues.apache.org/jira/browse/CB-8830
> Project: Apache Cordova
> Issue Type: Bug
> Components: Plugin Device
> Environment: windows 8.1 and OSx
> Cordova 4.3.0
> Reporter: John Little
>
> When the Device plugin is added to a cordova project and the software is
> tested using the "cordova serve" option (run a local web server for testing
> with a browser) the software locks up and fails to start.
> There is an exception in the Device plugin as below
> Exception calling native with command :: Device :: getDeviceInfo
> ::exception=ReferenceError: 'Windows' is undefined
> This is not supprising as there is no device, it's just serving the app
> through a web server.
> However the software locks up because the "onCordovaInfoReady" is never fired.
> A simple fix is to modify the device.js file as below
> channel.onCordovaReady.subscribe(function() {
> var callFailed = true; // NEW assume the getInfo fails
> me.getInfo(function(info) {
> callFailed = false; // NEW it's all good
> //ignoring info.cordova returning from native, we should use
> value from cordova.version defined in cordova.js
> //TODO: CB-5105 native implementations should not return
> info.cordova
> var buildLabel = cordova.version;
> me.available = true;
> me.platform = info.platform;
> me.version = info.version;
> me.uuid = info.uuid;
> me.cordova = buildLabel;
> me.model = info.model;
> me.manufacturer = info.manufacturer || 'unknown';
> channel.onCordovaInfoReady.fire();
> },function(e) {
> // NEW failure will be handled below
> utils.alert("[ERROR] Error initializing Cordova: " + e);
> });
> // new code to stop the system locking up
> if(callFailed) {
> me.available = false; // NEW can't be available as getInfo failed
> channel.onCordovaInfoReady.fire(); // NEW fire event to allow
> system to work
> }
> With this mod inplace the software will work, obviously the device
> information is invalid.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]