2016-09-21 7 views
2

Ich habe diese App mit Cordova/ionic und Angularjs erstellt. Es benutzt google maps etc. Ich schaffte es letzte Woche ein funktionierendes Windows Phone 10 in VS2015 zu bauen und heute würde ich Release Build machen, aber Überraschung mf es hat einfach aufgehört zu funktionieren ohne ersichtlichen Grund. Begann, mir WinJS undefined zu geben. Mein index.html Header sieht wie folgt vor Build:Windows Universal JavaScript Laufzeitfehler: 'WinJS' ist undefined

<script src="cordova.js"></script> 
    <script src="js/ionic.bundle.min.js"></script> 
    <script src="js/requirejs/require.js"></script> 
    <script src="js/app.js"></script> 

und während des Debuggens DOM-Explorer zeigt diesen Header

<script src="cordova.js"></script> 
    <script src="/www/WinJS/js/base.js"></script> 
    <script src="js/ionic.bundle.min.js"></script> 
    <script src="ms-appx-web://companyName.appName/www/cordova_plugins.js"></script> 
    <script src="js/requirejs/require.js"></script> 
    <script src="js/app.js"></script> 

so WinJS scheint einbezogen werden. Durch Inspektion cordova.js mit Haltepunkten kann ich sehen, dass window.WinJS nicht definiert ist und Skript hinzugefügt wird mit:

if (!window.WinJS) { 
     var scriptElem = document.createElement("script"); 

     if (navigator.appVersion.indexOf('MSAppHost/3.0') !== -1) { 
      // Windows 10 UWP 
      scriptElem.src = '/www/WinJS/js/base.js'; 
    ...} 
    scriptElem.addEventListener("load", onWinJSReady); 
    document.head.appendChild(scriptElem); 

und stürzt immer noch an dieser Stelle

var onWinJSReady = function() { 
     var app = WinJS.Application; 
     .... } 

Ich habe ähnlich gesehen Probleme hier und da, aber das sind für Windows Phone 8.1. Ich habe keine Ahnung mehr, was hier vor sich geht. Mein W10-Handy hat sich kurz vor dem Abbruch der App aktualisiert, aber ich bezweifle, dass es nur Zufall ist (?)

+0

Haben Sie versucht 'Cordova-Plattform hinzufügen https: // github.com/Apache/Cordova-Windows'? (möglicherweise verwandt mit [CB-11658] (https://issues.apache.org/jira/browse/CB-11658)) – daserge

+0

Nun, ich dachte mir, manuell vor cordova.js und es hat funktioniert. – spiritworld

Antwort

1

Ich muss meine eigene Frage beantworten. Die App wurde ausgeführt, indem manuell WinJS-Skript VOR Cordova-Skript hinzugefügt wurde.

<script src="/www/WinJS/js/base.js"></script> 
+0

So zu bestätigen - haben Sie versucht, 'HTML und es hat nicht funktioniert? [CB-11658-Patch] (https://issues.apache.org/jira/browse/CB-11658) aktualisiert nur den HTML-Code der Startseite, um die WinJS-Referenz vor cordova.js einzufügen. – daserge

+0

oh mein Tippfehler. : D es funktioniert sowohl mit "/www/WinJS/js/base.js" als auch "WinJS/js/base.js" aber nicht mit "www/WinJS/js/base.js" – spiritworld

+0

OK, danke. Dann sollten Sie in der Lage sein, dieses Problem zu lösen, indem Sie auf die Hauptversion von cordova-windows aktualisieren ('cordova platform add https: // github.com/apache/cordova-windows'). – daserge

Verwandte Themen