搜索

首页  >  问答  >  正文

javascript - 用Js或者Jq判断一个资源是否加载完毕

比如一个图片,等它加载完毕,也就是请求到之后,再去执行另一个操作。

那其它资源类型呢,比如swf是否加载完,是否是同样的方法?

或者一个http请求又是如何监控呢?

天蓬老师天蓬老师2837 天前716

全部回复(4)我来回复

  • PHP中文网

    PHP中文网2017-05-18 10:59:54

    浏览器去加载这些资源或者是异步去发http请求的话,一般都会提供钩子函数

    例如,你异步去获取js代码:

        const script = document.createElement('script')
        script.src = 'xxxx'
        script.onload = script.onreadystatechange = function () {
            if (!this.readyState || /^(loaded|complete)$/.test(this.readyState)) {
                resolve(window[namespace][name])
                sc.onload = sc.onreadystatechange = null
            }
        }
        document.body.append(script)

    你创建的script对象上提供了加载的钩子函数:onload/onreadystatechange(浏览器的兼容性处理),当你把script标签插入到DOM中时,浏览器另开一个线程去异步加载你需要的script对象上提供了加载的钩子函数:onload/onreadystatechange(浏览器的兼容性处理),当你把script标签插入到DOM中时,浏览器另开一个线程去异步加载你需要的js资源,在加载的不同阶段:this.readyState对应不同的值,这个时候根据需要设置你的回调函数。这样就完成了对于一段js资源,在加载的不同阶段:this.readyState对应不同的值,这个时候根据需要设置你的回调函数。这样就完成了对于一段

    代码异步获取的监控。🎜

    回复
    0
  • PHPz

    PHPz2017-05-18 10:59:54

    onload事件或者readystatechange事件,但不是所有对象都支持。另外promise应该也能吧

    回复
    0
  • PHPz

    PHPz2017-05-18 10:59:54

    http://stackoverflow.com/ques...

    雷雷

    回复
    0
  • 阿神

    阿神2017-05-18 10:59:54

    可以考虑ajax或者fetch API

    回复
    0
  • 取消回复