Schreibe eine Firefox-Plugin für das Parsen von einer benutzerdefinierten clientseitige Sprache
-
09-06-2019 - |
Frage
hatte ich eine Idee für eine clientseitige andere Sprache als JavaScript, und ich mag schauen eine Firefox-Plugin entwickelt, die auf einer Seite, wie , so als ob es sich um eine nativ unterstützt Sprache. Das Plugin würde alle der Sprache Parsing tun und im Idealfall jede Operation im Browser ausführen kann, und die HTML und CSS innerhalb der Web-Seite wie JavaScript.
Ich habe eine Reihe von googeln getan und habe einige Artikel zu schreiben grundlegende Firefox Plugins gefunden, aber nichts wie dies kompliziert.
Ist das überhaupt möglich?
Lösung
@Nathan de Vries : nein, eigentlich, NPAPI Plugins, die Sie vorgeschlagen haben eine Unterstützung für <script type=...>
nicht zulassen, implementieren
OP: Das ist nicht einfach, aber suchen Sie nach PyDOM und PyXPCOM - Sprachbindungen für Python. Die ehemalige tut genau das, was Sie gefragt - für Python, aber ich bin nicht sicher über den aktuellen Status. Auf jedem Fall ist es sehr wahrscheinlich, dass Sie benötigen, um Ihre eigene Build von Firefox erstellen zusätzlichen Skripttypen zu unterstützen.
Andere Tipps
Eine interessante Idee. Beachten Sie, dass Sie nicht wirklich benötigen einen Browser-spezifische Plugin zu schreiben, dies zu tun. Einige Menschen rel="nofollow haben experimentiert mit der Verwendung von JRuby in ein Applet-Code innerhalb <script type="text/ruby">
eingebettet auszuführen. Eine solche Lösung kann langsamer beim Start sein (aufgrund der Aufwand für eine ganze JVM-Instanz geladen), aber es wird sehr viel flexibler auf lange Sicht (Cross-Browser) sein. Außerdem ist es ein bisschen einfacher, einen benutzerdefinierten Sprachdolmetscher in einer JVM Sprache zu bauen, als es zu versuchen, ist Schuh-Horn es in Gecko.
Wenn ich verstanden habe, was Sie tun möchten, benötigen Sie einen Gecko Plugin zu schreiben. Über ein Plugin, können Sie Ihren eigenen MIME-Typ registrieren und dann manipulieren Javascript und DOM.
Das heißt, Sie müßten einen <object />
oder <embed />
Tag auf der Seite schließen Ihr Plugin zu laden, aber man konnte dann für <script type="application/x-yourtype" />
aussehen, den Innertext dieses Script-Tages packt und analysiert es das Plugin verwendet wird.
Wie Nickolay vorgeschlagen hat, ist die Alternative zu verwenden, was zur Zeit der Browser unterstützt oder eine benutzerdefinierte Build des Browsers erstellen. Daniel Spiewak Vorschlag ein Java-Applet (oder ein Flash-Applet würde auch funktionieren) zu verwenden, ist auch gültig.
Die Informationen sind Sie nach ist auf Mozillas Entwickler-Website zur Verfügung:
Haben Sie wirklich Ihre Seiten zu Ihrer eigenen benutzerdefinierten Skriptsprache binden wollen? Oder suchen Sie nur Ihre clientseitigen Code in etwas zu schreiben, die kein Javascript ist? Wenn letzteres versuchen MileScript , Google Web Toolkit