var vid = document.createElement("video");
vid.src = "big_buck_bunny_640x360.mp4";
document.getElementsByTagName("body")[0].appendChild(vid);
console.log(window.getComputedStyle(vid, null).getPropertyValue("width"));
コンソールには常に「300px」が表示されますが、明らかに、探している値は「640px」です。その console.log 呼び出しで setTimeout を 100 ミリ秒の遅延で使用すると、正しい「640px」値がコンソールに表示されます。
ただし、setTimeout は使用したくありません。正確に計算されたスタイル値を取得する「適切な」方法はありますか?