最近在學(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。
請問什么情況下script tag的位置可以是在HTML的head tag里面?
慕村225694
2019-03-21 18:19:44