【问题标题】:DOM implementation in pure javascript?纯javascript中的DOM实现?
【发布时间】:2012-03-14 21:47:28
【问题描述】:

是否有纯 javascript 的 DOM 实现或模拟?

  • 有 env.js,但这需要 Rhino。
  • 有 jsdom,但需要 Node。

是否有一种解决方案适用于大多数 javascript 解释器(例如 v8),而不受任何特定解释器或引擎的约束?也就是说,在 JS 中是否有任何 DOM 实现无需任何设置或 shims 就可以放入 javascript 解释器并直接运行?

【问题讨论】:

  • 您能解释一下为什么需要这个吗?
  • 测试javascript代码
  • 我正在寻找类似的东西,这就是我的原因:我想在 v8 js 引擎中运行它(由 golang 绑定到 v8 控制),但不一定在节点中。
  • @JPuge 这样的问题总是会随着时间的推移而变得迟钝。原因可能包括:在 Web Worker 中使用 DOM,在运行 HTML 和 Javascript 的自定义原生应用程序中使用 DOM,使用 javascript 验证一些 HTML 文件...

标签: javascript dom


【解决方案1】:

除了你列出的那些之外,我还听说过关于dom.js 的好消息。它需要有限的 ES6 功能,例如 constWeakMapProxy,因此它可以在 V8 和 SpiderMonkey (Rhino) 中工作,但不适用于 JavaScriptCore、Chakra 或其他。

【讨论】:

    【解决方案2】:

    在这里,很难准确猜出你想要做什么,但我会尝试一下,只是为了让对话继续进行:

    • 如果您尝试在浏览器中操作 DOM,您不能只使用 Jquery 吗?
    • 如果您想获得“无头浏览器”,我会查看PhantomJS

    我想很难想象你如何在没有浏览器、Rhino、Node、PhantomJS 或其他一些 JS 解释器环境的情况下运行 Javascript 代码......

    【讨论】:

    • 如果你想在浏览器中操作一个 DOM,你不能只使用the DOM API吗?
    • 我意识到这是不一样的......但是对于他要求教人们如何使用 DOM api而不是在其之上抽象层的要求是最好的。
    • 其实就是将DOM从浏览器中抽象出来,用来测试代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 2022-01-26
    • 1970-01-01
    • 2012-09-08
    • 2013-11-21
    • 2012-02-23
    相关资源
    最近更新 更多