7

Ich baue eine Cross-Plattform Cordova App mit Visual Studio 2015 und Tools für Apache Cordova. Daher verwende ich die leere Cordova App (mit TypeScript) von Tools für Apache Cordova. Alles scheint gut zu funktionieren, es sei denn es einen seltsamen Fehler in der JavaScript-Konsole ist, wenn die App auf Windows 10 ausgeführt wird:Win 10 Universal App mit Cordova versuchen, Flash zu laden

APPHOST9603: „Kann nicht das ActiveX-Plug-in geladen werden, dass hat die Klassen-ID“ { D27CDB6E-AE6D-11CF-96B8-444553540000} ". Apps können ActiveX-Steuerelemente nicht laden."

Dies ist irgendwie seltsam, weil ich nicht bin unsing alle ActiveX-Plug-In. Zumindest nicht wissentlich ... Der Fehler ist auch nur beim Ausführen der App unter Windows sichtbar.

die UID Googeln brachte mich here: Es eine Art Konfiguration für Shockwave Flash ist, die ich auch nicht verwenden.

Man kann den Fehler reproduzieren, indem man mit der Vorlage ein neues Projekt erstellt, die gewünschte Windows-Plattform in der Datei config.xml auf Windows 10 umstellt und das Debugging auf einem lokalen Windows 10-PC startet.

Haben Sie eine Idee, wie Sie diesen Fehler beheben können? Könnte das ein Fehler sein?

Bearbeiten: Dasselbe Problem here.

Edit: Hier ist die ursprünglich erstellt index.html:

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
    <meta charset="utf-8" /> 
    <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *"> 
    <title>BlankCordovaApp1</title> 

    <link href="css/index.css" rel="stylesheet" /> 
</head> 
<body> 
    <div class="app"> 
     <p id="deviceready" class="event">Connecting to Device</p> 
    </div> 

    <script src="cordova.js"></script> 
    <script src="scripts/platformOverrides.js"></script> 
    <script src="scripts/appBundle.js"></script> 
</body> 
</html> 
+0

Ist das normal, dass ich die Website https://ssl.gstatic.com/ auf meinem Chrom-Webbrowser nicht öffnen kann? Ist das passiert, seit ich jetzt in einem privaten Netzwerk bin? –

+0

Ich denke, es ist normal, nach der [Dokumentation] (https://taco.visualstudio.com/en-us/docs/cordova-5-security/#the-csp-in-cordova-5) ist die Referenz nur dort um die Android TalkBack-Funktionalität zu nutzen. – Phonolog

+0

Ich kann das Problem nicht mit den von Ihnen bereitgestellten Schritten reproduzieren. Was passiert, wenn Sie ein Projekt ohne Typoskript erstellen? Hast du die neusten update vs Tools für Apache Cordova 7 installiert? Die Update-Installation kann uns helfen, das Tool zu reparieren und ein bekanntes Problem zu beheben. –

Antwort

2

MSDN sagt (https://msdn.microsoft.com/en-us/library/windows/apps/jj860457.aspx):

Windows-Runtime-Apps mit JavaScript keine benutzerdefinierten Microsoft ActiveX-Steuerelemente unterstützen. Wenn Sie ein UI-Steuerelement benötigen, verwenden Sie ein HTML-Steuerelement, ein Windows-Bibliothek für JavaScript-Steuerelement oder erstellen Sie Ihr eigenes benutzerdefiniertes WinJS-Steuerelement. Wenn Sie benutzerdefinierte Logik ausführen müssen, erstellen Sie stattdessen ein benutzerdefiniertes Windows Runtime-Objekt.

Es scheint wie in Ihrem Rahmen wird das Plug-in ActiveX verwendet. Wenn Sie eine Webseite referenzieren und die Webseite einen Shockwave-Flash verwendet, könnte dies das Problem verursachen. Laut MSDN ist es nicht möglich, eine Seite anzuzeigen, die das ActiveX-Plugin in Windows enthält. Da Sie keinen Code angeben, kann ich den Grund nicht genau angeben, aber das ist meine beste Schätzung.

+1

Danke für Ihren Kommentar. In meinem Edit habe ich versucht darauf hinzuweisen, dass es kein Codeproblem zu sein scheint, Sie können den Fehler reproduzieren, ohne eine Codezeile zu schreiben. Ich referenziere keine Webseite mit Ausnahme der ursprünglichen index.html, die ich zu meiner ursprünglichen Frage hinzufügen werde – Phonolog

-1

Einfache Antwort: Sie können Flash Player in dieser Umgebung nicht verwenden.

Grund: Sie können keine ActiveX-Komponenten aus Windows Store-Apps verwenden.