我試圖在SVG標籤內嵌入腳本標籤,但SVG在Safari中顯示爲空白。嵌套在SVG標籤中的腳本標籤直接嵌入在HTML中導致SVG顯示空白
以下小提琴適用於FF 15.0,Chrome 21.0和IE9,但不適用於Windows上的Safari 5。
<svg height="320" width="320" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg">
<script >
setTimeout("run()",1000);
function run(){
var e = document.getElementById("rect");
console.log(e);
setTimeout("run()",1000);
}
</script>
<rect id="rect" ry="6" rx="6" fill="silver" height="320" width="320" y="0" x="0"/>
</svg>
的SVG被直接嵌入到HTML。如果腳本標記被刪除,這將起作用,如果您檢查SVG,您將看到腳本標記包含以下SVG元素。爲什麼?什麼是一些解決方法?
也許safari需要type =「text/javascript」作爲腳本元素的屬性。 –
我試過了。它仍然顯示空白。 –
是否可以在SVG命名空間中查找'script'並且沒有找到它,這要感謝'svg'標籤中出現的'xmlns'?不知道SVG名稱空間中是否存在'script'。無論如何,如果你將腳本移動到'svg'元素之外,它是否工作? –