2016-04-11 4 views
0

Unsere NoFlo Graph Komponenten haben sich plötzlich alle in eine einzige Box komprimiert, die "WaitForward" heißt. Siehe angehängtes Bild.NoFlo UI Komponenten sind plötzlich kaputt ... "TypeError: this.node.getTransformToElement ist keine Funktion"

Für eine Weile war dies in jedem Browser, außer Opera passiert, so dass ich dort hineingehen und Graphen aktualisieren konnte. Dann, ein paar Wochen später, würde sogar Opera die Komponenten nicht mehr darstellen, so dass ich jetzt keine Logik mehr zu bestehenden NoFlo-Formularen hinzufügen kann.

Wir berühren kaum Code in Bezug auf NoFlo, also glaube ich, dass sich in unserer Umgebung nichts geändert hat. Meine Theorie ist, dass Browser (wie Chrome, der einst der einzige stabile Browser war, der zum Editieren verwendet wurde) kürzlich aktualisiert wurden, und dieses Tool benötigt eine Art von Aktualisierung, um richtig zu rendern. Dennoch kann ich in den NoFlo GitHub-Anweisungen keinen Hinweis auf dieses Problem finden, und es sieht nicht so aus, als hätte jemand dieses Problem auf StackOverflow (bis jetzt natürlich).

Die Fehlermeldung in der Konsole sagt :: „Typeerror: this.node.getTransformToElement ist keine Funktion“

schmiss ich diesen Fehler in Google und sah, dass andere erleben dies mit etwas clientIO genannt, und Die jüngsten Updates für Google Chrome sind daran schuld, da Chrome kürzlich ein Kernfeature entfernt hat, mit dem verwandte js funktionieren konnten.

Aber ... wie kann ich das beheben? Das ist hier die Frage!

enter image description here

+0

Okay, jeder ... es sieht so aus, als hätte ich dieses Problem behoben. –

Antwort

0

Es sieht aus wie aktuelle Updates zu Google Chrome die Täter sind. Genommen direkt von jointjs.com Webseite ::

Link to announcement from jointjs.com

Announcement: getTransformToElement() polyfill Nov 12th, 2015

Unfortunately, a new version of Chrome (48) removes a feature that is core to JointJS/Rappid. This feature is the SVGGraphicsElement.getTransformToElement() function. The motivation behind removing the method is - according to the Chrome team - open issues about how this method is supposed to behave.

To overcome compatibility issues with future versions of Chrome, we prepared a polyfill that makes sure this method exists. Before a new version of JointJS/Rappid is released (or if you, for any reason, don't want to upgrade), include the following code before you load your application JavaScript:

SVGElement.prototype.getTransformToElement = SVGElement.prototype.getTransformToElement || function(toElement) { return toElement.getScreenCTM().inverse().multiply(this.getScreenCTM()); };

Ich war nicht sicher, wo genau in meinem noflo Verzeichnis diesen Code zu setzen. Also habe ich versucht, es an den oberen Rand der "app/js/main.js" -Datei zu setzen. Es scheint zu funktionieren! (Aber Rat für eine bessere Lage ist mehr als willkommen.)

Ich hoffe, dass dies hilft jedem anderen da draußen, der das gleiche Problem erlebt.