当我使用以下代码时
<object id="svg" data="assets/mySVG.svg" type="image/svg+xml">
<script>
$(document).ready(function() {
document.getElementById('svg').addEventListener("load", function() {
console.log('test');
});
});
</script>
它只会加载一半的时间。有时当我刷新它的负载时,有时却没有。一旦SVG文档被缓存,它就会一直加载。这只发生在firefox中,在chrome中它会100%加载。
答案 0 :(得分:1)
可能是一个缓存问题,同时请记住事件Load
发生在DOM准备好之后,可能SVG对象之前加载因为在缓存上,你怎么可以尝试加载它而不用使用jQuery,因为我在jQuery ready
事件开始需要更长时间之前阅读,因为首先需要加载jQuery库,并且可能在ready
事件发生时加载了SVG,添加类似的脚本这个,在</body>
:
<script>
(function () {
"use strict";
var init();
init = function(){
document.getElementById('svg').addEventListener("load", function() {
console.log('test');
});
}
init();
})();
</script>