星期四, 5月 16, 2013

[browser] DOMReady, DOM Load - window.onload

  今天跟同事討論到瀏覽器的觸發事件 DOM Ready 跟 DOM Load - window.onload以及若有子模組的時候應該安排在何時觸發?

  我先稍微解釋一下 DOMReady以及 window.onload。


  • DOM Ready : 瀏覽器上面的 DOM 物件建立完成。
    • 適用時機: 適合那些只需要對 DOM 做基本增刪修改操作的。(TonyQ補述)
  • DOM Load - window.onload: image, css等頁面物件載入完成。
    • 適用時機: 適合圖片或之類會有內容大小二次變動的 需要在特定時間抓,或是像 iframe 需要讀取頁面完成做事件。(TonyQ補述)
  • 正常情況下 DOMReady會比window.onload, 不過在老瀏覽器若有快取情況似乎 windows.onload有可能會比 DOMReady來的早,此情況目前應該是不太可能會發生了。


  若有子模組的話 YUI有 ContentReady的事件可使用,子模組DOM TREE建立完成就觸發事件,所以其執行順序就是 ContentReady -> DOMReady -> window.onload。

  如果其他框架如 jQuery相信也有其他的事件可使用,也歡迎來信留言指點。


沒有留言: