[問題] javascript的執行順序?

看板Ajax作者 (咕啾咕啾魔法陣)時間11年前 (2014/05/29 17:58), 編輯推噓0(0016)
留言16則, 3人參與, 最新討論串1/2 (看更多)
初學者的問題 這裡的onload不是載入body後就會執行嗎? 為什麼會比bottom更慢執行呢 另外就是js放在</html>之後的用途是? 代碼: <script>alert("top")</script> <html> <head> <script>alert("head")</script> </head> <body onLoad="abc()"> <script> alert("body"); function abc(){alert("onload");} </script> </body> </html> <script>alert("bottom")</script> -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.247.105 ※ 文章網址: http://www.ptt.cc/bbs/Ajax/M.1401357528.A.7DF.html

05/29 18:16, , 1F
請不要把script放在body跟head以外的地方
05/29 18:16, 1F

05/29 18:19, , 2F
請問這種作法是不標準的嗎?
05/29 18:19, 2F

05/29 18:20, , 3F
是,對不標準做法的反應,本來就是不可預期的阿...
05/29 18:20, 3F

05/29 23:15, , 4F
這裡其實沒啥關聯...
05/29 23:15, 4F

05/29 23:16, , 5F
請搞清楚onload是在load"完"才會跑
05/29 23:16, 5F

05/29 23:16, , 6F
也就是整頁被執行完 圖片載完等等的之後才會執行
05/29 23:16, 6F

05/29 23:17, , 7F
至於放在body還head外 反正瀏覽器都一行行跑
05/29 23:17, 7F

05/29 23:17, , 8F
就是在tag外其實沒啥影響(雖然不合標準是事實啦)
05/29 23:17, 8F

05/29 23:36, , 9F
有差啊,因為解析時瀏覽器會試圖把它解析成合規格的
05/29 23:36, 9F

05/29 23:37, , 10F
的網頁,因此解析完後,它根本不再原本位置上了
05/29 23:37, 10F

05/29 23:37, , 11F
遇到這種例外的解析是到html5才確立,之前的網頁
05/29 23:37, 11F

05/29 23:38, , 12F
都是看瀏覽器實作
05/29 23:38, 12F

05/29 23:45, , 13F
05/29 23:45, 13F

05/29 23:46, , 14F
他把那個在底部的script塞進body裡了
05/29 23:46, 14F

05/29 23:52, , 15F
但不管放哪都一定比onload早啊...
05/29 23:52, 15F

05/29 23:54, , 16F
但也只有unload一定比較早阿
05/29 23:54, 16F
文章代碼(AID): #1JXmJOVV (Ajax)
文章代碼(AID): #1JXmJOVV (Ajax)