我的印象是WebKit是一个更通用的框架,可以插入多个JavaScript引擎。最突出的是,我们同时拥有Apple的JavaScriptCore和Google的V8。
有没有人试图插入Mozilla的Rhino?如果他们没有,你能否指点我所涉及的一些简短资源? (我不太可能自己接受这个,但我我感兴趣的是这个领域的WebKit扩展点是如何构建的,仅仅是为了好奇。)
另外,如果我对WebKit,JavaScriptCore和V8之间的关系的理解不正确,那么让我直截了当就会得到一个很好的答案。
答案 0 :(得分:3)
忽略了支持webkit中多个js引擎的许多问题,支持任何 js引擎有很多工作。
大多数DOM绑定都是自动生成的,但是执行此操作(并且正确执行)的脚本对于每个目标都是大型,复杂且完全不同的(webkit中的dom绑定适用于JSC,V8,Objective-C和gtk)。那表示存在> 2套绑定应该表明支持一组额外的绑定不会太困难(主要是时间,而不是思维方式)。
JS的问题尤其在于浏览器本身必须能够以更多方式与其交互(脚本标签等)。这主要是从核心引擎中抽象出来的,但是有很多逻辑需要实现,而这些逻辑很难实现,而且仍然无法保证工作。最后,V8的设计使用webkit作为嵌入目标,因此它支持webkit所需的奇怪内容,并且无法保证spidermonkey,rhino或任何其他引擎能够提供它们。