js標簽的位置:
通常都是把關于標簽<script>放在<header>元素中
目的:把所有外部文件css文件和javascript文件件的引用都放在相同的地方,但是 <header>中包含js文件,只有js代碼全部
下載完成后才會載入頁面,但這無疑是延遲呈現頁面,在延遲期間頁面空白
解決:把js代碼放在<body>元素中(頁面內容的后面),這樣就把加載空白頁面的時間縮短了.
defer屬性:立即下載,但會延遲進行. 只對外部腳本文件有效
asyns屬性:與defer屬性相似,都可以改變處理腳本行為,但標記asyns的腳步并不能保證它們的先后執行順序.
目的:不讓頁面等待兩個腳本下載和執行, 會在load事件前執行,但會在DomcontentLoaded事
件觸發之前或之后執行, 支持的瀏覽器(Firefox 3.6,safar和 Chrome)
src屬性:表示包含要執行代碼的外部文件.
(無論如何包含代碼,只要不存在defer和asyns屬性,瀏覽器都會按照<script>元素在頁面中的出現的先后順序對他們一次進行
解析.簡單來說就是第一個<script>元素包含的代碼解析完成后,第二個<script>包含的代碼才會被解析.然后才是第三個,第四
個……)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>延遲腳本</title>
<script type="text/javascript" defer="defer" src="js/bootstrap.min.js"> </script>
</head>
<body>
<!--內容-->
</body>
</html>
在這個例子里為<script>標簽定義了defer屬性,這樣腳本會被延遲到整個頁面都解析完畢后在運行,因此在<script>設置了
deferi屬性,相當于告訴瀏覽器立即下載,但延遲進行,雖然我們把<script>放在<header>中但其中包含的延遲腳本講遇到瀏覽
器</html>標簽再進行. HTML5規范要求腳本按照他們出現的先后順序再進行,因此第一個延遲腳本會先于第二個延遲腳本進行,
而這兩個腳本會先于DOMcontentLoaded事件觸發前執行,但在現實當中,延遲腳本不應定會按照順序執行,也不定在DOMconte
ntLoaded事件觸發前執行,因此最好包含一個延遲腳本.
js基礎_2(頁面加載和延遲腳本)
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
推薦閱讀更多精彩內容
- 近年來,隨著經濟條件的不斷提高,加上翡翠漂亮,但數量不斷減少,同時升值空間不斷提高,越來越多的人喜歡把其當作裝飾品...