Javascript 加载功能只有一半时间有效 (Firefox)
Javascript load function only works half of the time (Firefox)
当我使用下面的代码时
<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% 的时间。
可能是缓存问题,还要记住事件 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>
当我使用下面的代码时
<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% 的时间。
可能是缓存问题,还要记住事件 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>