ページに 2 つの埋め込み svg-lets をロードしています。アニメーション化されたものはありません。それらは setTimeout で順番にロードされます。最初にアニメーションをロードすると、すべてがうまくいき、アニメーションが期待どおりに開始され、2 番目の静的 svg がその後正しく表示されます。最初に 2 番目をロードし、その後アニメーションをロードすると、アニメーションが開始されません。
コードは次のとおりです: jsfiddleスイッチ #svg1、および #svg2 は JavaScript 内にあります。
ブラウザをチェックしたところ、クロムとサファリの両方がこの動作を示しているため、これはおそらく Webkit のバグであることがわかりました。FF 12 と Opera は問題ありません。
これは JS コードで修正できますか、それとも Webkit でバグを報告する必要がありますか?
== 追加
svgがsettimeoutでロードされた後にアニメーションが開始されない理由について、質問を言い換える必要があると思います。
Jared が以下で調査したように、要素が DOM に存在し、DOM 操作を介してフォーカス要素に並べ替えられた場合に機能します。Chrome と Webkit には、animate 要素への beginElement() 呼び出しによるキックが必要です。これは、プレーンテキストから構築された要素に対してはまだうまくいきません。私は Mac しか持っておらず、これは趣味のプロジェクトだと考えているので、MS IE は完全に無視しています。