Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript创建图像和document.readyState_Javascript_Image_Onload_Readystate - Fatal编程技术网

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提出了两个不同的目标。后一种方法可以在不需要加载图像的情况下更快地执行。