作者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/m.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