如果我动态添加SVG,它将不会在某些浏览器上设置动画。我花了一段时间来追查问题。这是我能说明问题的最简单的例子。
window.setTimeout(function() {
document.getElementById("content").innerHTML = "<svg width='100' height='100'><circle cx='50%' cy='50%' r='50' fill='red'><animateColor id='a1' attributeName='fill' values='blue;green;yellow;orange;red;blue' dur='5s' repeatCount='indefinite' /></circle></svg>";
}, 0);
适用于Chrome和Safari 6.1 Seed,但不适用于Safari 6.0或 Firefox 。
编辑:iOS 6上的Safari也存在同样的问题,但它在iOS 7 Beta上与Safari配合使用。