返回信息流在判断document.readyState === ‘complete’后,执行jQuery.ready,需要延迟一下
因为遇到了https://bugs.jquery.com/ticket/12282#comment:15 这个问题
但是没看懂这个问题是怎么一回事 求解答
这是一条镜像帖。来源:北邮人论坛 / www-technology / #35637同步于 2016/4/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
jquery $.ready源码问题
xssd
2016/4/19镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
$.ready 不就是domContentLoaded 事件。。
出现问题的原因应该是 某些浏览器,这个ready并不是很可靠?
源码很简单,就是在有ready事件的时候绑定。
我是不太懂为什么要setTimeout 或者说一开始不可靠 setTimeout一个最短的时间片就可靠了
【 在 dcy0701 的大作中提到: 】
: $.ready 不就是domContentLoaded 事件。。
: 出现问题的原因应该是 某些浏览器,这个ready并不是很可靠?
: 源码很简单,就是在有ready事件的时候绑定。
setTimeout 最短的时间片不确定的,在各个浏览器内核表现有差异。。。
不懂问题是什么
【 在 xssd 的大作中提到: 】
: 我是不太懂为什么要setTimeout 或者说一开始不可靠 setTimeout一个最短的时间片就可靠了
:
:
为什么jQuery.ready会有问题 setTimeout(jQuery.ready)就没问题了
【 在 dcy0701 的大作中提到: 】
: setTimeout 最短的时间片不确定的,在各个浏览器内核表现有差异。。。
: 不懂问题是什么
我觉得。setTimeout是放在异步队列里面(event loop),放在异步队列的原因应该是 当前页面已经加载完成了。
所以,你再绑定ready 就没有作用了。
setTimeout就是 等当前执行栈结束立即执行
【 在 xssd 的大作中提到: 】
: 为什么jQuery.ready会有问题 setTimeout(jQuery.ready)就没问题了
:
嗯嗯 源码解释是这样的 Handle it asynchronously to allow scripts the opportunity to delay ready
【 在 dcy0701 的大作中提到: 】
: 我觉得。setTimeout是放在异步队列里面(event loop),放在异步队列的原因应该是 当前页面已经加载完成了。
: 所以,你再绑定ready 就没有作用了。
: setTimeout就是 等当前执行栈结束立即执行
: ...................