getComputedStyle

getComputedStyle

[1] hail2u.net - Weblog - getComputedStyle()を利用した既読チェック <http://hail2u.net/blog/coding/check-visited-or-not-by-getcomputedstyle.html> (名無しさん 2006-08-25 16:12:58 +00:00)

[2] getComputedStyle で得た CSSStyleDeclarationcssText は、 Firefox 2 でも Opera 9 でもなぜか空文字列を返します。

<http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0D%0A%20%20color%3A%20blue%3B%0D%0A%7D;h=%3Cinput%20type%3Dbutton%20value%3Dx%20onclick%3D%22%0D%0A%20%20var%20sd%20%3D%20getComputedStyle%20(document.getElementsByTagName%20('p')%5B0%5D%2C%20null)%0D%0A%20%20var%20v%20%3D%20sd.cssText%3B%0D%0A%20%20w%20(typeof%20(v))%3B%0D%0A%20%20w%20(v.length)%3B%0D%0A%20%20w%20(sd.color)%3B%0D%0A%22%3E%0D%0A%0D%0A%3Cp%3EXXXXX%3C%2Fp%3E;p=n;x=style-element>

(名無しさん)

[3] getComputedStyle で得た CSSStyleDeclarationcssText は、 Firefox 2 でも Opera 9 でもなぜか空文字列を返します。

<http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0D%0A%20%20color%3A%20blue%3B%0D%0A%7D;h=%3Cinput%20type%3Dbutton%20value%3Dx%20onclick%3D%22%0D%0A%20%20var%20sd%20%3D%20getComputedStyle%20(document.getElementsByTagName%20('p')%5B0%5D%2C%20null)%0D%0A%20%20var%20v%20%3D%20sd.cssText%3B%0D%0A%20%20w%20(typeof%20(v))%3B%0D%0A%20%20w%20(v.length)%3B%0D%0A%20%20w%20(sd.color)%3B%0D%0A%22%3E%0D%0A%0D%0A%3Cp%3EXXXXX%3C%2Fp%3E;p=n;x=style-element>

(名無しさん)

[4] getComputedStyle について調べてたら深みにハマったのでメモ - IT戦記 (2008-01-13 07:13:36 +09:00 版) <http://d.hatena.ne.jp/amachang/20070611/1181554170> (名無しさん)

[5] Bug 316981 &#8211; background-position property is not available through the CSS DOM interface ( 版) <https://bugzilla.mozilla.org/show_bug.cgi?id=316981>

[6] ブラウザ毎の getComputedStyle の戻り値 - uupaaの開発日記 ( 版) <http://d.hatena.ne.jp/uupaa/20080928/1222543331>

[7] はてなブックマークのコンテンツの JavaScript を高速化する - IT戦記 ( 版) <http://d.hatena.ne.jp/amachang/20081126/1227700830>

ということです。

つまり、 ComputedStyle のプロパティアクセスと DOM の変更が交互に来るような場合が最悪で、一気に DOM を変更したあと、一気に getComputedStyle をするというのが理想です。

これは、 Firefox ではどの程度影響があるかは分かりません(実験したことがないので、今度実験してみます)が、 Google Chrome や Safari など WebKit 系のブラウザではかなり顕著です。

[8] IRC logs: freenode / #whatwg / 20091204 ( 版) <http://krijnhoetmer.nl/irc-logs/whatwg/20091204#l-629>

[9] IRC logs: freenode / #whatwg / 20130723 ( ( 版)) <http://krijnhoetmer.nl/irc-logs/whatwg/20130723>

[10] Re: computedStyle of cloneNode ( (L. David Baron著, )) <https://lists.w3.org/Archives/Public/www-style/2016May/0014.html>

[11] Re: computedStyle of cloneNode ( (L. David Baron著, )) <https://lists.w3.org/Archives/Public/www-style/2016May/0018.html>

[12] [cssom] Fix getComputedStyle with over-constrained box-offset properties ( (zcorpan著, )) <https://github.com/w3c/csswg-drafts/commit/c996510d75544786a5361127e69c71a5fc725785>

[13] Re: computedStyle of cloneNode (Simon Pieters著, ) <https://lists.w3.org/Archives/Public/www-style/2016Jun/0183.html>