作者banana2014 (香蕉共和国)
看板Ajax
标题[问题] 如何在页面载入中的时候就执行script程式?
时间Fri Jun 5 13:42:32 2015
如果要做一个简易的「载入中」标语在页面正在载入中时显示,只要在onload里头执行把
「载入中」标语的display设成none即可在页面载入中时显示「载入中」标语,等所有都载
入完以後就会执行onload里头的程式,也就是让「载入中」标语消失。
那麽有没有办法刚好相反,在载入中时执行某段script程式,而在所有都载入完以後就停
止执行该script程式? 或者是说,能不能在载入中时就执行某script程式,载入完成之後
依旧「继续」执行该script程式?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 219.80.128.160
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Ajax/M.1433482954.A.56B.html
1F:推 KawasumiMai: 用flag? 06/05 14:36
2F:→ KawasumiMai: 开头呼叫某script并结尾侦测flag决定要不要recall 06/05 14:36
3F:→ KawasumiMai: 然後loading完之後修改flag让他执行完跳出不recall? 06/05 14:36
4F:→ KawasumiMai: 或者用settimeout去repeat然後onload之後clear? 06/05 14:37
请问是不是要等所有网页的进度都载入了才会开始执行所有的javascript?
还是只要把script放在最前端,即使网页还没开始载入html部分,它就会自己先执行了?
※ 编辑: banana2014 (219.80.128.160), 06/05/2015 17:04:00
5F:→ KawasumiMai: 个人理解:一开始就会执行了吧?不然也不用onload 06/05 22:07
6F:→ KawasumiMai: 不过因为里面这时抓不到document内的东西,所以一般 06/05 22:07
7F:→ KawasumiMai: 不会这样写。看你要干嘛用。 有错请鞭 06/05 22:08
8F:推 mrbigmouth: 一开始就会执行 除非你加上defer attribute 06/05 22:39
9F:→ mrbigmouth: 浏览器在载入没有defer的script tag时,在所有程式皆 06/05 22:40
10F:→ mrbigmouth: 载入并执行完毕之前不会继续往下读取HTML 06/05 22:40
11F:→ mrbigmouth: 这也是为何一般会建议你把所有script tag摆到最後 06/05 22:41