JavaScript创建图像和document.readyState
为了确保文档在执行操作之前准备就绪,我执行以下操作:JavaScript创建图像和document.readyState,javascript,image,onload,readystate,Javascript,Image,Onload,Readystate,为了确保文档在执行操作之前准备就绪,我执行以下操作: (function() { var interval = window.setInterval(function() { if("complete" === document.readyState) { window.clearInterval(interval); // Some stuff } }, 10); })(); 如果我在代码中的某个
(function() {
var interval = window.setInterval(function() {
if("complete" === document.readyState) {
window.clearInterval(interval);
// Some stuff
}
}, 10);
})();
如果我在代码中的某个地方使用JavaScript创建了一个图像,如下所示:
var image = new Image();
image.onload = function() {
// Some other stuff
};
image.src = 'some_url';
我对document.readyState执行的检查是否也会等待“image”加载,还是只等待HTML代码中存在的图像加载
提前感谢。您不需要设置
间隔时间
:
加载事件在文档加载过程结束时激发。在
此时,文档中的所有对象都在DOM中,并且
图像和子帧已完成加载
您只需对静态包含的图像执行此操作:
window.onload = function() {
// Some stuff
};
由于这不考虑您以后创建的图像,您可以执行以下操作:
window.onload = function() {
var image = new Image();
image.onload = function(){
// Some stuff
};
image.src = 'some_url';
};
在jquery document.ready()中,当整个html页面准备就绪时调用函数,或者我们可以说是bind(用技术术语)
你应该试着增加间隔时间。或者包含图像加载回调以执行这些操作 请注意,yourmage.onload如果yourmage.complete
在连接侦听器时为true,则不会激发。@David yes。通常在设置onload回调后设置src。我将进行编辑以防止您提到的错误。好的,谢谢,我认为在文档100%加载之前启动了onload(但是为什么jQuery会这样检查呢?)。我要试试这个。我的问题实际上来自于JavaScript/PHP的混合,这对调试来说是可怕的。我甚至不确定这个问题是否来自于图像是否被加载的事实……jQuery提出了两个不同的目标。后一种方法可以在不需要加载图像的情况下更快地执行。