[
https://issues.apache.org/jira/browse/CB-12193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15729701#comment-15729701
]
venkata guddanti commented on CB-12193:
---------------------------------------
Maybe something like this will work. I do not have window 10 phone emulators on
my machine so I could not try Windows phone
try
{
//If getForCurrentView fails, it is an indication that we are
running in a WebView without
// a CoreWindow where some WinRT APIs are not available.
Windows.UI.ViewManagement.ApplicationView.getForCurrentView();
injectBackButtonHandler();
app.start();
}
catch (e)
{
console.log('Cordova is running without a CoreView (maybe inside a
WebView).');
}
> 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
> Labels: reproduced, triaged, windows
> Attachments: CordovaTest.zip
>
>
> 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]