可以在WebKit shell中使用Mozilla的Rhino JS引擎吗?

Dom*_*nic 5 javascript webkit rhino

我的印象是WebKit是一个更通用的框架,可以插入多个JavaScript引擎.最突出的是,我们同时拥有Apple的JavaScriptCore和Google的V8.

有没有人试图插入Mozilla的Rhino?如果他们没有,你能否指点我所涉及的一些简短资源?(我不太可能由我自己承担这个,但我感兴趣的是如何在这一领域的WebKit的扩展点的结构,只是为了好奇.)

另外,如果我对WebKit,JavaScriptCore和V8之间关系的理解不正确,那么让我直截了当就会得到一个很好的答案.

oll*_*iej 3

忽略 webkit 中支持多个 js 引擎带来的许多问题,支持任何js 引擎还有很多工作要做。

大多数 DOM 绑定都是自动生成的,但是执行此操作(并正确执行)的脚本庞大、复杂,并且对于每个目标都完全不同(webkit 中有针对 JSC、V8、Objective-C 和 gtk 的 dom 绑定) 。也就是说,存在 > 2 组绑定应该表明支持一组附加绑定不会太困难(主要是时间,而不是费心)。

JS 的问题尤其在于浏览器本质上必须能够以更多方式与其交互(脚本标签等)。这主要是从核心引擎中抽象出来的,但是需要实现很多逻辑,这很困难,而且仍然不能保证能够工作。最后,V8 是用 webkit 作为嵌入目标来设计的,因此它支持 webkit 所需的奇怪的东西,并且不能保证 Spidermonkey、Rhino 或任何其他引擎能够提供它们。