Ich benutze PhantomJS 2.1.0, und ich verwende es, um pdfs einer Seite auf meiner angularJS Site zu erzeugen. Auf meinem Entwicklungsserver mit nicht-minimiertem Code läuft alles einwandfrei. Auf meinem Produktionsserver mit minimiertem Code bekomme ich eine Fehlermeldung, dass mein Modul nicht geladen wurde. Wenn ich minimierten Code auf meinem Entwicklungsserver verwende, erhalte ich keinen Fehler und keine Nachrichten, phantomJS meldet nur, dass die Seite geladen wurde, aber keines der Javascript auf der Seite läuft. Ich kann auch sehen, dass phantomJS alle richtigen Ressourcen für die Seite abruft.PhantomJS schlägt mit keinem Fehler
Antwort
Falls jemand anderes jemals in dieses sehr frustrierende Problem geraten sollte, fand ich schließlich, dass der Fehler mit meinem Highcharts-Code war. Als ich die Konfiguration eines meiner Diagramme definiert hatte, hatte ich dieselbe Eigenschaft zweimal definiert. Z.B. (Ich definierte Legende zweimal):
$('#data-chart').highcharts({
title: {
style: {
display: 'none'
}
},
credits: false, //do not show 'Highcharts.com' on chart
colors: ['#264653', '#2a9d8f', '#e9c46a', '#f4a261', '#e76f51', '#67a9e5', '#f8ed08', '#7b69a9','#91e8e1'],
legend: {
enabled: false
},
yAxis: [
{title: { text: null } },
{
opposite: true, //show secondary y-axis on right side of graph
title: { text: null } //Hide y-axis title
}
],
plotOptions: {
column: {
pointPadding: 0,
borderWidth: 0,
groupPadding: 0.15
},
series: {
stacking: 'normal'
}
},
tooltip: {
shared: true
},
legend: {
layout: 'horizontal',
align: 'center',
verticalAlign: 'top',
borderWidth: 0,
symbolWidth: 16,
symbolPadding: 10,
itemStyle: {
color: '#a8aab7',
fontFamily: 'Roboto',
fontWeight: 'bold',
fontSize: '14px'
}
}
});
Entfernen der zweiten Definition alles behoben. Ich vermute, das Problem ist, dass der Browser doppelte Eigenschaften behandeln kann, indem er eine ignoriert, aber phantomJS kann nicht, so dass es stillschweigend versagt. Ich bin mir immer noch nicht sicher, warum die Minimierung des Codes es kaputt gemacht hat, aber es hat nicht geklappt, da alle meine Controller unabhängig von der Seite importiert werden, aber vielleicht ist es eine angularJS-Optimierung, die nur den Code für die aktuell verwendeten Controller analysiert , aber wenn es minimiert wird, analysiert es alles. Oder es hat während der Vermin- derung etwas mit den doppelten Eigenschaften zu tun, die phantomJS's Parsing dieses Codes durchbrochen haben.
- 1. Solr intermittierenden Fehler der Replikation mit keinem Fehler
- 2. Ember App-Test schlägt in PhantomJS fehl
- 3. js Spiel friert mit keinem Fehler ein
- 4. Model Update fehlschlägt mit keinem Fehler
- 5. Httpd startet nicht mit keinem Fehler
- 6. Windows-Installation von PhantomJS schlägt fehl
- 7. Installation von PhantomJS 2 mit NPM schlägt fehl unter Windows
- 8. Selen mit phantomJS schlägt fehl, funktioniert aber in Firefox
- 9. Karma-Test schlägt fehl, wenn er mit PhantomJS ausgeführt wird
- 10. Selen/PhantomJS löst Fehler
- 11. pytest beendet mit keinem Fehler, aber mit "gesammelten 0 Elemente"
- 12. PhantomJS mit Selenium Fehler: Meldung: ‚PhantomJS‘ ausführbare muss in PATH sein
- 13. Python - Selenium PhantomJS - JSON Fehler
- 14. dbms_hs_parallel schlägt mit Fehler fehl
- 15. Mit AVA mit PhantomJS
- 16. Optionaler Versuch für Funktion mit keinem Rückgabewert
- 17. DOM-Manipulation mit PhantomJS
- 18. Wie Wagenrücklauf mit keinem Zeilenvorschub in Python
- 19. PhantomJS Versionskompatibilität mit Selenium
- 20. Mit PhantomJS, Selenium
- 21. PhantomJS mit WebDriver
- 22. Netzwerkerfassung mit Selenium/PhantomJS
- 23. loading DOM mit phantomjs
- 24. cntlm Proxy mit Phantomjs
- 25. phantomjs kompilieren mit webGL
- 26. Wie mit PhantomJS
- 27. Während Schleife mit PhantomJS?
- 28. Proxy Auth mit PhantomJS
- 29. CreateFile schlägt mit Fehler fehl ERROR_SHARING_VIOLATION
- 30. Create TFS Fehler schlägt Validierung mit InvalidNotOldValue
Hinzufügen zu diesem, es ist gute Praxis, Ihren Code durch Knoten oder ähnliches, wenn Sie ein Problem mit Phantom haben, da es viele Fälle gibt, in denen Phantom ohne Nachricht bricht. –
@MaxUppenkamp Können Sie Ihren Kommentar erweitern? Ich verstehe nicht, was Sie meinen, indem Sie den Code über Knoten oder Ähnliches ausführen. Führen Sie einfach 'node' aus? –