DOM が新しい SVGweb コード (Ajax 経由) で変更された後
<script type="image/svg+xml">
<svg>
...
</svg>
</script>
これを実行する必要があります: svgweb._onDOMContentLoaded();
ただし、SVGweb svg-uncompressed.js または svg.js のコア ソースの行にコメントする前に
svg-uncompressed.js から
if (arguments.callee.done) {
return;
}
に
if (arguments.callee.done) {
//return;
}
svg.js: これを見つけて削除します:
arguments.callee.done=true;
または置き換えます
arguments.callee.done=false;
編集:
IE9 で動作するもう 1 つの修正:
svg.js の場合
から
var a=document.getElementById("__ie__svg__onload");if(a){a.parentNode.removeChild(a);a.onreadystatechange=null}
に
var IEv=parseFloat(navigator.appVersion.split("MSIE")[1]);if(IEv<9){var a=document.getElementById("__ie__svg__onload");if(a){a.parentNode.removeChild(a);a.onreadystatechange=null;a=null;}}
svg-uncompressed.js の場合
から
// cleanup onDOMContentLoaded handler to prevent memory leaks on IE
var listener = document.getElementById('__ie__svg__onload');
if (listener) {
listener.parentNode.removeChild(listener);
listener.onreadystatechange = null;
listener = null;
}
に
// cleanup onDOMContentLoaded handler to prevent memory leaks on IE
var IEv=parseFloat(navigator.appVersion.split("MSIE")[1]);
if (IEv<9) {
var listener = document.getElementById('__ie__svg__onload');
if (listener) {
listener.parentNode.removeChild(listener);
listener.onreadystatechange = null;
listener = null;
}
}