6

我对 JavaScript 以外的客户端语言有一个想法,我想研究开发一个 Firefox 插件,该插件可以处理页面中包含这种新语言的内容,例如 <script type="newscript" src="path /script.ns" />,就像它是本机支持的语言一样。该插件将完成所有语言解析,并且理想情况下能够像 JavaScript 一样在浏览器以及网页中的 html 和 css 上执行所有操作。

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

这甚至可能吗?

4

4 回答 4

3

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

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

正如 Nickolay 所建议的那样,替代方法是使用浏览器当前支持的任何内容或创建浏览器的自定义版本。Daniel Spiewak 关于使用 Java 小程序(或 Flash 小程序也可以)的建议也是有效的。

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

于 2008-09-16T08:01:42.687 回答
3

一个有趣的想法。请注意,您实际上不需要编写特定于浏览器的插件来执行此操作。有些人已经尝试在 Applet 中使用 JRuby 来执行嵌入在<script type="text/ruby">. 这样的解决方案在启动时可能会更慢(由于加载整个 JVM 实例的开销),但从长远来看(跨浏览器)会更加灵活。此外,在 JVM 语言中构建自定义语言解释器比尝试将其硬塞到 Gecko 中要容易一些。

于 2008-09-16T08:14:34.170 回答
2

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

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

于 2008-09-16T09:25:12.003 回答
0

您真的想将您的页面绑定到您自己的自定义脚本语言吗?或者你只是想用不是 javascript 的东西来编写你的客户端代码?如果后者尝试MileScriptHaxeGoogle Web Toolkit

于 2008-09-16T07:37:59.420 回答