CSSStyleDeclaration
ドキュメントの innerHTML の各ノードにオブジェクトを再帰的に再適用しようとしています。たとえば、window.getComputedStyle(document.getElementsByTagName("a")[0])
このページで呼び出すと、返されるハッシュには約 650 の異なるプロパティがあります。ドキュメントの innerHTML に 1000 個のノードがあるとします。innerHTML をループして各CSSStyleDeclaration
ハッシュにスタイルを適用すると、 node.style.setProperty(key, value)
. ただし、ループを繰り返すことで、各ノードを 1 つずつ実行しています。代わりに、このループを実行する代わりに、DOM に対して一度に 1000 回の呼び出しを行う方がはるかに効率的です。問題は、これが Chrome で可能である場合、その方法がわかりません。
私の疑いでは、Chrome は DOM 全体に GIL (より適切な言葉がないため) を持っていますが、これは単なる迷信かもしれません。そうでない場合は、ロックがノードレベルにあると思います。しかし、これも完全な迷信です。私はこれについて事実のない環境で活動しています。ご指摘がありましたら、よろしくお願いします。