Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

修复使用S.Event.on给window绑定load事件时,如果window已经load,回调不会执行的问题 #395

Closed
wants to merge 6 commits into from

Conversation

maisui99
Copy link

@maisui99 maisui99 commented Jul 8, 2013

在web.js中增加了一个绑定,使用了S.Env.winHasLoaded作为标识符,然后后续的绑定中可以通过这个值来判断是否window已经load。

应用场景:天猫detail的onload时间很早,而吊顶会把部分模块绑定在window load事件上,由于吊顶代码是异步的,会造成绑定的时候window已经load,最后代码不执行。需要增加这个功能才能实现正常载入模块

@yiminghe
Copy link
Member

yiminghe commented Jul 8, 2013

为什么不用 KISSY.ready

另外:其他类库对这个问题是怎么处理的?

@maisui99
Copy link
Author

maisui99 commented Jul 9, 2013

很多资源希望放到onload执行,特别是一些无关痛痒的模块。据我所知,至少jquery是没有做处理的。

@maisui99
Copy link
Author

maisui99 commented Jul 9, 2013

有这么个情况,有些模块是一定需要加载的,但是允许尽可能晚的加载,window load是一个很好的选择。

@yiminghe
Copy link
Member

yiminghe commented Jul 9, 2013

@maisui99 这个 api 不能保证完备性:

setTimeout(function(){
getScript('seed/kissy.js',function(){
Event.on('load')
})
},10000);

@maisui99
Copy link
Author

20/80原则哈。这样加载kissy的模式似乎已经比较极端了的。虽然曾经我也这么干过。。=。=

@yiminghe
Copy link
Member

还是不加吧,到时还要解释下那种情况,这估计也是其他类库不加的原因。
由需要的应用自己处理吧

@yiminghe yiminghe closed this Jul 11, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants