为什么我无法使用 JSDOM 获取 DIV 的偏移量?

Why I can't get the offset of a DIV using JSDOM?

这就是我正在做的事情:

var mocha = require('mocha');
mocha.describe('div', function() {
  mocha.it('positions', function() {
    document.body.innerHTML = '<div style="left:55px;position:absolute;" id="d">x</div>'
    var div = document.getElementById('d');
    var rect = div.getBoundingClientRect();
    console.log('Left: ' + rect.left);
  }
}

我明白了:

Left: 0

应该是55吧?我正在使用 jsdom/16.2.2, jsdom-global/3.0.2, mocha/6.1.4.

jsdom 没有实现布局引擎 (https://github.com/jsdom/jsdom/issues/1322),因此它无法计算任何偏移量。

根据 getBoundingClientRect method 的来源,它只是一个存根。也就是说这个方法不做任何计算。