编写用于解析自定义客户端语言的Firefox插件

编写用于解析自定义客户端语言的Firefox插件,firefox,Firefox,我有一个关于JavaScript以外的客户端语言的想法,我想研究开发一个Firefox插件,在页面中处理这种新语言的内容,就像它是一种本机支持的语言一样。该插件将完成所有的语言解析,理想情况下,它能够像JavaScript一样在浏览器和网页中的html和css上执行所有操作 我在谷歌上搜索了很多,找到了一些关于编写基本Firefox插件的文章,但没有比这更复杂的了 这可能吗?您真的想将页面绑定到自己的自定义脚本语言吗?或者您只是想用非javascript的语言编写客户端代码?如果后者尝试,或者如

我有一个关于JavaScript以外的客户端语言的想法,我想研究开发一个Firefox插件,在页面中处理这种新语言的内容,就像它是一种本机支持的语言一样。该插件将完成所有的语言解析,理想情况下,它能够像JavaScript一样在浏览器和网页中的html和css上执行所有操作

我在谷歌上搜索了很多,找到了一些关于编写基本Firefox插件的文章,但没有比这更复杂的了


这可能吗?

您真的想将页面绑定到自己的自定义脚本语言吗?或者您只是想用非javascript的语言编写客户端代码?如果后者尝试,或者

如果我了解您想要做什么,您需要编写Gecko插件。通过插件,您可以注册自己的MIME类型,然后操作Javascript和DOM

这意味着您需要在页面上包含一个
标记来加载插件,但随后您可以查找
,获取该脚本标记的内部文本,并使用插件解析它

正如Nickolay所建议的,另一种选择是使用浏览器当前支持的任何内容,或者创建浏览器的自定义版本。Daniel Spiewak关于使用Java小程序(或者Flash小程序也可以)的建议也是有效的

您需要的信息可在Mozilla的开发者网站上获得:


  • 一个有趣的想法。请注意,您实际上不需要编写特定于浏览器的插件来实现这一点。有些人在Applet中使用JRuby来执行
    中嵌入的代码。这样的解决方案在启动时可能会比较慢(由于加载整个JVM实例的开销),但从长远来看(跨浏览器)会更加灵活。此外,用JVM语言构建自定义语言解释器要比尝试将其植入Gecko中容易得多。

    :不,实际上,您建议的NPAPI插件不允许实现对
    的支持


    OP:这并不容易,但请查找Python的PyDOM和PyXPCOM语言绑定。前者完全符合您的要求——用于Python,但我不确定它的当前状态。无论如何,您很可能需要创建自己的Firefox版本来支持其他脚本类型。

    这更像是一个理论项目。“能做到吗?”,“好的,让我们做吧”之类的话。我不想用一种你需要插件渲染的语言来开发任何可以把食物放在桌子上的东西。啊,好主意:)学习插件API和XPCOMFantastic可能是一个不错的项目!我根本不想使用JavaScript,但我确实希望能够操纵DOM。对于警报框之类的东西,我想再次直接转到Firefox和他们为类似的东西提供的任何API。这是一个有用的见解,也是这个项目的一个很好的选择。