Scrittura di un plugin per Firefox per l'analisi di un linguaggio lato client personalizzato

StackOverflow https://stackoverflow.com/questions/69982

  •  09-06-2019
  •  | 
  •  

Domanda

Ho avuto un'idea per un linguaggio lato client diverso da JavaScript e mi piacerebbe sviluppare un plugin per Firefox che tratti gli include di questo nuovo linguaggio in una pagina, come <script type="newscript" src="path /script.ns" />, proprio come se fosse un linguaggio supportato nativamente.Il plugin eseguirà tutta l'analisi del linguaggio e idealmente sarebbe in grado di eseguire ogni operazione sul browser e su html e css all'interno della pagina web proprio come fa JavaScript.

Ho fatto un sacco di ricerche su Google e ho trovato alcuni articoli sulla scrittura di plugin di base per Firefox, ma niente di così complicato come questo.

È possibile?

È stato utile?

Soluzione

@Nathan de Vries:no, in realtà, i plugin NPAPI che hai suggerito non consentono di implementare il supporto per <script type=...>.

OPERAZIONE:questo non è facile, ma cerca PyDOM e PyXPCOM - collegamenti linguistici per Python.Il primo fa esattamente quello che hai chiesto: per Python, ma non sono sicuro del suo stato attuale.In ogni caso, è molto probabile che tu debba creare la tua build di Firefox per supportare tipi di script aggiuntivi.

Altri suggerimenti

Un'idea interessanteTieni presente che in realtà non è necessario scrivere un plugin specifico per il browser per fare ciò.Alcuni le persone hanno sperimentato con l'utilizzo di JRuby in un'applet per eseguire il codice incorporato all'interno <script type="text/ruby">.Tale soluzione potrebbe essere più lenta all'avvio (a causa del sovraccarico derivante dal caricamento di un'intera istanza JVM), ma sarà molto più flessibile a lungo termine (tra browser).Inoltre, è un po' più semplice costruire un interprete linguistico personalizzato in un linguaggio JVM piuttosto che provare a inserirlo in Gecko.

Se ho capito cosa ti piacerebbe fare, dovrai scrivere un plugin Gecko.Tramite un plugin, sarai in grado di registrare il tuo tipo MIME e quindi manipolare Javascript e DOM.

Ciò significa che dovresti includere un file <object /> O <embed /> tag sulla pagina per caricare il tuo plug-in, ma potresti quindi cercare <script type="application/x-yourtype" />, prendi l'innerText di quel tag di script e analizzalo utilizzando il tuo plugin.

Come suggerito da Nickolay, l'alternativa è utilizzare tutto ciò che il browser attualmente supporta o creare una build personalizzata del browser.Vale anche il suggerimento di Daniel Spiewak di utilizzare un applet Java (o anche un applet Flash).

Le informazioni che stai cercando sono disponibili sul sito web degli sviluppatori di Mozilla:

Vuoi davvero collegare le tue pagine al tuo linguaggio di scripting personalizzato?O stai semplicemente cercando di scrivere il tuo codice lato client in qualcosa che non sia JavaScript?Se quest'ultimo ci prova MileScript, Hax, O Kit di strumenti web di Google

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top