GoodQuestion,一般都放底部。
成都創(chuàng)新互聯(lián)是一家以網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、品牌設(shè)計(jì)、軟件運(yùn)維、成都網(wǎng)站營銷、小程序App開發(fā)等移動開發(fā)為一體互聯(lián)網(wǎng)公司。已累計(jì)為成都主動防護(hù)網(wǎng)等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。
但在某種情況下也覺得放在頭部比較好,比如一個給頁面中的某個元素添加了事件的js腳本。頁面出來了但是js沒加載完的那段時間,用戶對此元素做事件操作的時候就出不來應(yīng)該有的效果。
現(xiàn)在比較傾向于放在頭部,做一些優(yōu)化的工作盡量讓js加載快一點(diǎn)。
通常情況下,JavaScript 代碼是和 HTML 代碼一起使用的,可以將 JavaScript 代碼放置在 HTML 文檔的任何地方。但放置的地方,會對 JavaScript 代碼的正常執(zhí)行會有一定影響,具體如下所述。
放置于head/head之間
將 JavaScript 代碼放置于 HTML 文檔的 head/head 標(biāo)簽之間是一個通常的做法。由于 HTML 文檔是由瀏覽器從上到下依次載入的,將 JavaScript 代碼放置于head/head 標(biāo)簽之間,可以確保在需要使用腳本之前,它已經(jīng)被載入了:
當(dāng)被調(diào)用的時候,放在head部分的JavaScript將會被執(zhí)行。當(dāng)html頁面載入瀏覽器的時候,放在body部分的JavaScript將會被立即執(zhí)行。我們并不是總是希望以這種方式來運(yùn)用JavaScript。有時我們希望當(dāng)頁面載入時執(zhí)行JavaScript,其他時候我們用戶觸發(fā)事件來執(zhí)行JavaScript。 JavaScript放在head部分:把Script放在head部分里,只有當(dāng)Script被調(diào)用或者事件觸發(fā)時才被執(zhí)行。當(dāng)你把Script放在head部分里,你必須確保用戶在使用Script前,Script已經(jīng)裝載完成。 htmlheadscript type=”text/javascript”…/script/head JavaScript放在body部分:當(dāng)html頁面載入瀏覽器的時候,放在body部分的JavaScript將會被立即執(zhí)行,并產(chǎn)生html頁面的內(nèi)容。 htmlhead/headbodyscript type=”text/javascript”…/script/body JavaScript同時放在head部分和body部分:你可以在html頁面里放置無限個JavaScript,可以同時放在head部分和body部分。 htmlheadscript type=”text/javascript”…/script/headbodyscript type=”text/javascript”…/script/body 調(diào)用外部的JavaScript 有時你想在幾個html頁面里運(yùn)行相同JavaScript代碼,但又不想在每個頁面里寫相同的代碼。 為了簡化這種情況,你可以寫一個JavaScript的外部文件,以.js作為JavaScript的外部文件的擴(kuò)展名。 注意:JavaScript外部文件不能包含script標(biāo)簽!
先加載和后加載的區(qū)別。
JavaScript腳本寫在head標(biāo)簽里面,那么需要用window.onload起到一個延遲加載的作用。
JavaScript腳本寫在body里面,也要看具體位置。如果寫在body里面,一般都是寫在了body標(biāo)簽的最后面。
javascript代碼默認(rèn)是同步執(zhí)行的,不管是內(nèi)嵌的還是外部的javascript代碼,都會阻塞后續(xù)html代碼的加載和渲染以及后續(xù)javascript的解析。這是個必要的特性,試想一下,如果你要使用某個功能,例如jquery 庫的功能,把jquery 庫放在你是用的代碼之前(一般放在head里),這樣你在其后的任何位置都可以無限制的使用jquery 的功能而不用擔(dān)心其jquery 函數(shù)功能是否已經(jīng)被解析載入。
但如果你這有一個javascript文件比較大,而這一部分的功能比較獨(dú)立,沒有他也不會影響頁面的顯示效果,那就可以考慮把它放在body的最后,即/body之前,這樣整個頁面載入了,頁面完全顯示了才開始處理這部分javascript,當(dāng)然,也可以loadjs 等異步加載方式進(jìn)行異步加載,這樣就不會阻塞其他html和javasscript了。
本文題目:javascript放在,javascript放在head
本文路徑:http://www.chinadenli.net/article12/dsdsjgc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、移動網(wǎng)站建設(shè)、定制網(wǎng)站、微信公眾號、小程序開發(fā)、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)