Реализация DOM в чистом javascript?

Есть ли реализация или эмуляция DOM, которая является чисто javascript?

  • Существует env.js, но для этого нужен Rhino.
  • Здесь jsdom, но для этого требуется Node.

Есть ли решение, которое работает в большинстве интерпретаторов javascript, таких как v8, без привязки к какому-либо конкретному интерпретатору или движку? То есть, существует ли какая-либо реализация DOM в JS, чтобы без каких-либо настроек или прокладок можно было перебросить в интерпретатор javascript и просто запустить?

Ответы

Ответ 1

В дополнение к тем, которые вы указали, я слышал хорошие вещи о dom.js. Он требует ограниченных функций ES6, таких как const, WeakMap и Proxy, поэтому он будет работать в V8 и SpiderMonkey (Rhino), но не в JavaScriptCore, Chakra и других.

Ответ 2

Трудно догадаться, что именно вы пытаетесь сделать здесь, но я возьму на него удар, чтобы продолжить разговор:

  • Если вы пытаетесь манипулировать DOM из браузера, не можете ли вы просто использовать Jquery?
  • Если вы пытаетесь получить "безгласный браузер", я бы посмотрел PhantomJS.

Мне трудно представить, как бы вы даже запускали Javascript-код без браузера, или Rhino, или Node, или PhantomJS, или какой-либо другой среды интерпретатора JS...