2 Stimmen

Wie man Prototyp-Js-Dateien durch die Rhino Script Engine in Java auswertet

Ich habe Probleme bei der Auswertung einer script.js-Datei, die von prototype.js abhängig ist. Wenn ich versuche, die Datei script.js über die Rhino Script Engine in Java auszuwerten, erhalte ich eine Script Exception wie "TypeError: $H is not a function, it is java.lang.String.". Wie kann ich die Dateien auswerten und wie kann ich prototype.js einbinden und die Prototyp-Objekte definieren?

2voto

Bahaa Zaid Punkte 1439

Sie können prototype.js nicht nur mit Rhino auswerten. prototype.js hat viele Verweise auf das HTML DOM, das in Rhino/Java nicht implementiert ist. Zum Beispiel (aus prototype.js): document.createTextNode('') Das globale Objekt document ist im Rhino-Kontext nicht definiert und createTextNode ist ebenfalls nicht definiert.

Die Lösung ist, alle Objekte/Funktionen aus Ihrer Kopie von prototype.js zu entfernen, die auf die Objekte document, window oder navigator verweisen. (vorausgesetzt, Ihre js-Datei verwendet sie nicht)

0voto

Luke Schafer Punkte 9113

Haben Sie sie in der richtigen Reihenfolge bewertet? Sie müssen von unten nach oben bewertet werden

0voto

Dave Ray Punkte 38948

Werfen Sie einen Blick auf env-js die eine Mock-Browser-Umgebung für Rhino ist. Sie basiert auf einige Arbeiten von John Resig um JQuery in Rhino zum Laufen zu bringen. Es würde mich nicht überraschen, wenn Prototype auch funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X