2008-09-16 11 views
6

Tenía una idea para un lenguaje del lado del cliente que no sea JavaScript, y me gustaría buscar el desarrollo de un complemento de Firefox que incluyera este nuevo lenguaje en una página, como < script type = "newscript" src = "path/script.ns" />, como si fuera un lenguaje nativamente compatible. El complemento haría todo el análisis del lenguaje e idealmente podría realizar todas las operaciones en el navegador y los html y css dentro de la página web como lo hace JavaScript.Escribiendo un plugin de Firefox para analizar un lenguaje personalizado del lado del cliente

He hecho un montón de Google y he encontrado algunos artículos sobre cómo escribir complementos básicos de Firefox, pero nada tan complicado como este.

¿Esto es posible?

Respuesta

2

@Nathan de Vries: no, en realidad, los complementos de NPAPI que sugirió no permiten implementar un soporte para <script type=...>.

OP: esto no es fácil, pero busque PyDOM y PyXPCOM - enlaces de lenguaje para Python. El primero hace exactamente lo que usted pidió, para Python, pero no estoy seguro de su estado actual. En cualquier caso, es muy probable que necesite crear su propia compilación de Firefox para admitir tipos de script adicionales.

0

¿Realmente desea vincular sus páginas a su propio lenguaje de scripting personalizado? ¿O solo buscas escribir el código del lado del cliente en algo que no es javascript? En este último caso tratan MileScript, haXe o Google Web Toolkit

+0

Esto es más que un proyecto teórico. Un "¿se puede hacer?", "Ok, hagámoslo" tipo de cosas. No estoy buscando desarrollar nada que se suponga que ponga comida en la mesa en un idioma que necesite un plugin para procesar. – willurd

+0

Ah, buena idea, entonces :) Podría ser un buen proyecto para aprender el plugin API y XPCOM – rpetrich

3

Si he entendido lo que desea hacer, tendrá que escribir un plugin Gecko. A través de un complemento, podrá registrar su propio tipo MIME y luego manipular Javascript & DOM.

Esto significa que tendría que incluir una etiqueta o <object /><embed /> en la página para cargar el plugin, pero entonces podría buscar <script type="application/x-yourtype" />, agarrar el innerText de esa etiqueta de script y analizarlo usando el plugin.

Como ha sugerido Nickolay, la alternativa es usar lo que sea que el navegador admita actualmente o crear una compilación personalizada del navegador. También es válida la sugerencia de Daniel Spiewak de usar un applet de Java (o un applet de Flash).

La información que está buscando está disponible en el sitio web de desarrolladores de Mozilla:

+0

¡Fantástico! No quiero pasar por JavaScript en absoluto, pero sí quiero poder manipular el DOM.Para cosas como cuadros de alerta, una vez más, me gustaría ir directamente a Firefox y cualquier API que proporcionen para cosas como esa. – willurd

3

Una idea interesante. Tenga en cuenta que en realidad no necesita escribir un complemento específico del navegador para hacer esto. Algunos people have experimented con el uso de JRuby en un applet para ejecutar código incrustado en <script type="text/ruby">. Tal solución puede ser más lenta al inicio (debido a la sobrecarga de cargar una instancia completa de JVM), pero será mucho más flexible a largo plazo (navegador cruzado). Además, es un poco más fácil construir un intérprete de lenguaje personalizado en un lenguaje JVM que intentar conectarlo a Gecko.

+0

Esta es una visión útil y una buena opción para este proyecto. – willurd

Cuestiones relacionadas