2008-09-16 8 views
6

Ich hatte eine Idee für eine clientseitige Sprache außer JavaScript, und ich würde gerne in die Entwicklung eines Firefox-Plugins schauen, das diese neue Sprache behandeln würde eine Seite, wie < script type = "newscript" src = "path/script.ns" />, als wäre es eine nativ unterstützte Sprache. Das Plugin würde alle Sprach-Parsing und im Idealfall in der Lage, jede Operation auf dem Browser und der HTML-und CSS innerhalb der Webseite genau wie JavaScript ausführen können.Ein Firefox-Plugin zum Analysieren einer benutzerdefinierten clientseitigen Sprache schreiben

Ich habe ein paar Googeln gemacht und habe einige Artikel zum Schreiben von grundlegenden Firefox-Plugins gefunden, aber nichts ist so kompliziert wie dieses.

Ist das überhaupt möglich?

Antwort

2

@Nathan de Vries: nein, eigentlich, NPAPI-Plugins, die Sie vorgeschlagen, lassen Sie nicht implementieren Unterstützung für <script type=...>.

OP: das ist nicht einfach, aber suchen Sie nach PyDOM und PyXPCOM - Sprachbindungen für Python. Ersteres macht genau das, wonach Sie gefragt haben - für Python, aber ich bin mir nicht sicher über seinen aktuellen Status. In jedem Fall ist es sehr wahrscheinlich, dass Sie Ihren eigenen Build von Firefox erstellen müssen, um weitere Skripttypen zu unterstützen.

0

Möchten Sie Ihre Seiten wirklich an Ihre eigene benutzerdefinierte Skriptsprache binden? Oder möchten Sie nur Ihren clientseitigen Code in etwas schreiben, das kein JavaScript ist? Wenn letzteres MileScript versuchen, haXe oder Google Web Toolkit

+0

Dies ist eher ein theoretisches Projekt. Ein "kann es gemacht werden?", "Ok, lass es uns machen". Ich bin nicht auf der Suche nach etwas, das Essen in einer Sprache auf den Tisch bringt, die man zum Rendern braucht. – willurd

+0

Ah, coole Idee dann :) Es könnte ein gutes Projekt sein, das Plugin API und XPCOM zu lernen – rpetrich

3

Wenn ich verstanden habe, was würden Sie tun, benötigen Sie einen Gecko Plugin zu schreiben. Über ein Plugin können Sie Ihren eigenen MIME-Typ registrieren und dann das & DOM manipulieren.

Das heißt, Sie einen <object /> oder <embed /> Tag auf der Seite enthalten müssten Ihr Plugin zu laden, aber man konnte dann für <script type="application/x-yourtype" /> aussehen, die Innertext dieses Script-Tag packen und analysieren es das Plugin verwenden.

Wie Nickolay vorgeschlagen hat, ist die Alternative, den aktuellen Browser zu verwenden oder eine benutzerdefinierte Version des Browsers zu erstellen. Der Vorschlag von Daniel Spiewak, ein Java-Applet (oder ein Flash-Applet) zu verwenden, ist ebenfalls gültig.

Die Informationen sind Sie nach ist auf der Mozilla-Entwickler-Website:

+0

Fantastisch! Ich möchte JavaScript überhaupt nicht verwenden, aber ich möchte das DOM manipulieren können.Für Dinge wie Alarmboxen möchte ich noch einmal direkt zu Firefox und der API, die sie für solche Sachen bereitstellen, gehen. – willurd

3

Eine interessante Idee. Beachten Sie, dass Sie dazu eigentlich kein browserspezifisches Plugin schreiben müssen. Einige people have experimented mit JRuby in einem Applet zum Ausführen von Code eingebettet in <script type="text/ruby">. Eine solche Lösung kann beim Start langsamer sein (aufgrund des Overheads beim Laden einer gesamten JVM-Instanz), ist jedoch auf lange Sicht wesentlich flexibler (browserübergreifend). Außerdem ist es etwas einfacher, einen benutzerdefinierten Sprachinterpreter in einer JVM-Sprache zu erstellen, als ihn in Gecko zu schüren.

+0

Dies ist ein hilfreicher Einblick und eine gute Option für dieses Projekt. – willurd

Verwandte Themen