我對domready,onload,body,head有所懷疑。當我連接一些js到頭時,它不起作用。否則,它在體內工作。domready,onload,body,head的含義是什麼?
我注意到在JSFIDDLE中,它提到了。
這意味着什麼和差異?
請問你能解釋一下嗎?
我對domready,onload,body,head有所懷疑。當我連接一些js到頭時,它不起作用。否則,它在體內工作。domready,onload,body,head的含義是什麼?
我注意到在JSFIDDLE中,它提到了。
這意味着什麼和差異?
請問你能解釋一下嗎?
<head>
包含所有關於Page屬性,CSS和JavaScript的信息。儘管CSS和JavaScript也可以包含在主體中。 Head將包含Page的元信息,標題,基本URL等。
<body>
包含正文的實際內容。訪問該網站的用戶實際上看到或與之互動。
DOM
是文檔對象模型。這是基本結構,或者你可以說頁面所在頁面的骨架。
domready
是一旦DOM完成加載就會觸發的事件。例如:假設一個頁面只有一個圖像。它將等待圖像標籤被解析。只要收到圖像標籤,它就會被觸發。它不會等待整個圖像從源文件加載。
onload
是加載完成(DOM +內容)頁面時觸發的事件。在donready
前面的例子中,onload
將等待從源獲取的圖像,然後將被解僱。
訪問DOM的Javascript一定不能執行直到DOM已經被加載。
在文檔的<head>
部分中運行的代碼將在加載DOM之前執行,因此如果它試圖在DOM上操作,則DOM將僅爲空。
在文檔的<body>
部分中運行的代碼將在該腳本標記之前但在腳本標記之後的任何DOM元素之前執行AFTER之後的所有DOM元素。
如果您在</body>
標記之前的<body>
部分的最末尾放置了<script>
標記,那麼當該腳本執行時,整個DOM將準備就緒。
DOMContentLoaded
(其中jsFiddle調用onDomReady
)是一個事件,當DOM現在加載並且可供腳本訪問時觸發。如果您在DOMContentLoaded事件觸發時運行代碼,那麼DOM將準備好讓您的代碼在該點訪問。
window.onload
是一個事件,當DOM現在被加載並且在頁面的HTML中指定的任何資源也被加載時(如圖像),將觸發該事件。這總是在DOMContentLoaded事件之後觸發。
這裏你可以看到這個問題的進一步說明:pure JavaScript equivalent to jQuery's $.ready() how to call a function when the page/dom is ready for it
如果代碼工作時,在<body>
,但不是在<head>
,那麼你可能運行的代碼在<head>
標籤太早前DOM已準備就緒。您可以將其保留在<body>
的末尾,或者將其掛接到其中一個加載事件,然後如果需要,可以將其放入<head>
標記中。
謝謝你的好解釋。我很容易理解。 – Darious
已經在stackoverflow上解決了[dom ready vs onload](http://stackoverflow.com/questions/3698200/window-onload-vs-document-ready) –
'domready'和'onload'是可比較的,但是'
'和''是非常不同的。去閱讀任何HTML教程。 –