[
https://issues.apache.org/jira/browse/CB-12193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15705579#comment-15705579
]
venkata guddanti edited comment on CB-12193 at 11/29/16 3:25 PM:
-----------------------------------------------------------------
Please note that cordova runs fine without WinJS. For e.g it has the following
code:
if (!window.WinJS) {
..
if (navigator.appVersion.indexOf('MSAppHost/3.0') !== -1) {
// Windows 10 UWP
scriptElem.src = '/www/WinJS/js/base.js';
}
}
else {
onWinJSReady();
}
The location of WinJS was changed from /WinJS/js/base to /www/WinJS/js/base.js
after Cordova 4.0.0. So if Cordova fails to load WinJS it still functions
without a glitch.
Another thing to consider is if a framework already includes WinJS before
cordova.js, there is no need to call onWinJSReady. Such a framework would have
done its own app lifecycle management (activation, checkpoint etc). So you can
eliminate the call to onWinJSReady if WinJS has been previously included.
was (Author: ven.guddanti):
Please note that cordova runs fine without WinJS. For e.g it has the following
code:
if (!window.WinJS) {
..
if (navigator.appVersion.indexOf('MSAppHost/3.0') !== -1) {
// Windows 10 UWP
scriptElem.src = '/www/WinJS/js/base.js';
}
}
else {
onWinJSReady();
}
The location of WinJS was changed from /WinJS/js/base to /www/WinJS/js/base.js
after Cordova 4.0.0. So if Cordova fails to load WinJS it still functions
without a glitch.
Another thing to consider is if a framework already includes WinJS before
cordova.js, there is no need to call onWinJSReady. Such a framework would have
done its own app lifecycle management (activation, checkpoint etc). So you can
eliminate onWinJSReady
> cordova.js crashes windows app if there is no CoreWindow
> --------------------------------------------------------
>
> Key: CB-12193
> URL: https://issues.apache.org/jira/browse/CB-12193
> Project: Apache Cordova
> Issue Type: Bug
> Components: Windows
> Environment: Windows 10
> Reporter: venkata guddanti
> Priority: Critical
>
> The back button support in cordova.js crashes windows app. In particular the
> following line crashes:
> var navigationManager =
> Windows.UI.Core.SystemNavigationManager.getForCurrentView();
> Putting try catch around it does not help. It crashes deep in the bowels of
> native code. So I believe there should a fix similar to the following code in
> WinJS base.js:
> // If getForCurrentView fails, it is an indication that we are running in
> a WebView without
> // a CoreWindow where some WinRT APIs are not available. In this case, we
> just treat it as
> // if no WinRT APIs are available.
> var isCoreWindowAvailable = false;
> try{
> _Global.Windows.UI.ViewManagement.InputPane.getForCurrentView();
> isCoreWindowAvailable = true;
> }
> catch (e){
> }
> You can then skip setting up the back button handler if there is no
> CoreWindow:
> if (isCoreWindowAvailable)
> {
> var navigationManager =
> Windows.UI.Core.SystemNavigationManager.getForCurrentView();
> ...
> }
> I am aware that Cordova Windows 10 is not supported in a WebView (i.e. there
> is no CoreWindow). But WinJS and majority of Windows APIs work. Cordova 4.0.0
> used to work as well, since there was no back button support in it. Plugins
> that need CoreWindow (i.e. plugins that show native UI) like Camera etc have
> issues without it. We have a framework where we proxy these plugins through
> the main application Window (similar to iOS and Android).
> Please do consider this and incorporate a fix in cordova for Windows 10
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]