第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

請問什么情況下script tag的位置可以是在HTML的head tag里面?

請問什么情況下script tag的位置可以是在HTML的head tag里面?

慕村225694 2019-03-21 18:19:44
最近在學(xué)習(xí)前端。遇到一個(gè)常見的問題,就是在script tag在HTML中的位置應(yīng)該放哪。有一個(gè)例子, HTML markups是這樣的<!DOCTYPE html><html dir="ltr">  <head>    <meta charset="utf-8">    <title></title>    <script src='js.js'>    </script>  </head>  <body>  </body></html>JS file是這樣的var loadTime = document.createElement('div');loadTime.textContent = 'You loaded this page on: ' + new Date();loadTime.style.color = 'blue';document.body.appendChild(loadTime);我一開始認(rèn)為這個(gè)JS里面沒有依賴任何目前HTML里的DOM元素,所以我放在HTML的任何位置效果都是一樣的。但是運(yùn)行之后發(fā)現(xiàn),放在head里面是不行的,還得放在body closing tag之前。這讓我產(chǎn)生了一個(gè)疑問,如果這樣的script都不能放在head里面的話,那什么樣的script才能放在head里面?另外我知道現(xiàn)在script tag有兩個(gè)attribute async and defer 可以讓瀏覽器在渲染HTML的時(shí)候,遇到了script不阻塞。而且http://caniuse.com/#feat=scri... 上面說也有94.59%的瀏覽器現(xiàn)在支持這個(gè)attr。但是我在網(wǎng)上看了一圈,從來沒有看到有哪個(gè)網(wǎng)站用過這個(gè)attr。
查看完整描述

4 回答

?
繁花如伊

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊

但是運(yùn)行之后發(fā)現(xiàn),放在head里面是不行的

我測試了,是可以了,但js代碼必須放到.js文件中,而不能直接放到head里。

但是我在網(wǎng)上看了一圈,從來沒有看到有哪個(gè)網(wǎng)站用過這個(gè)attr

看一個(gè)瀏覽器兼容性就知道了,IE11以下都不支持,加上使用這個(gè)屬性也沒有很大的必要,把js放到最后不就行了,為什么一定要放到head中呢?


查看完整回答
反對 回復(fù) 2019-04-10
?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊

我一開始認(rèn)為這個(gè)JS里面沒有依賴任何目前HTML里的DOM元素

這句話不成立。

document.body.appendChild(loadTime);這里依賴body。

輸出一下head里的document.body,你會(huì)得到null。


查看完整回答
反對 回復(fù) 2019-04-10
?
德瑪西亞99

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊

js可以放到文檔的任何位置,這和文檔結(jié)構(gòu)本身并沒有任何關(guān)系,不信你就放歌alert彈出來某個(gè)數(shù)字 ,就可以驗(yàn)證!


查看完整回答
反對 回復(fù) 2019-04-10
  • 4 回答
  • 0 關(guān)注
  • 562 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)