代码之家  ›  专栏  ›  技术社区  ›  willurd

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

  •  6
  • willurd  · 技术社区  · 16 年前

    我有一个关于除javascript之外的客户端语言的想法,我想开发一个将这种新语言包含在页面中的firefox插件,比如<script type=“new script”src=“path/script.ns”/>,就像它是一种本机支持的语言一样。这个插件可以完成所有的语言解析,理想情况下,它能够像JavaScript一样在浏览器、网页中的HTML和CSS上执行每一个操作。

    我做了很多谷歌搜索,找到了一些关于编写基本的火狐插件的文章,但没有什么比这复杂的了。

    这是可能的吗?

    4 回复  |  直到 9 年前
        1
  •  2
  •   Community Egal    7 年前

    @Nathan de Vries :不,实际上,您建议的NPAPI插件不允许一个实现对 <script type=...> .

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

        2
  •  3
  •   Daniel Spiewak    16 年前

    一个有趣的想法。请注意,您实际上不需要编写特定于浏览器的插件来执行此操作。一些 people have experimented 使用小程序中的JRuby执行嵌入在 <script type="text/ruby"> . 这样的解决方案在启动时可能较慢(由于加载整个JVM实例的开销),但从长远来看(跨浏览器),它将更加灵活。此外,用JVM语言构建一个自定义语言解释器要比把Horn设计成Gecko简单得多。

        3
  •  3
  •   Nathan de Vries    16 年前

    如果我知道你想做什么,你需要写一个壁虎插件。通过插件,您可以注册自己的mime类型,然后操作javascript和dom。

    这意味着您需要包括 <object /> <embed /> 在页面上标记以加载您的插件,但是您可以查找 <script type="application/x-yourtype" /> ,获取该脚本标记的InnerText并使用插件对其进行分析。

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

    您需要的信息可以在Mozilla的开发者网站上找到:

        4
  •  0
  •   rpetrich    16 年前

    是否确实要将页面绑定到自己的自定义脚本语言?或者你只是想用一些不是javascript的东西来编写客户端代码?如果后者尝试 MileScript , haXe Google Web Toolkit