日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

html文件执行顺序,网页的加载和执行顺序?

發布時間:2025/3/20 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html文件执行顺序,网页的加载和执行顺序? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

根據你的樣本,

$(document).ready(function(){

$("#img").attr("src",?"kkk.png");

});

????

執行流程大致如下:下載HTML文檔

HTML文檔的解析開始

HTML解析達到

HTML解析達到

HTML解析達到

abc.css被下載和解析

HTML解析達到

分析和定義內部css規則。

HTML解析達到

解析并運行內部Javascript。

HTML解析達到

abc.jpg下載并顯示

HTML解析達到

HTML文檔結束解析

請注意,由于瀏覽器的行為,下載可能是異步和非阻塞的。例如,在Firefox中,這個設置限制了每個域同時請求的數量。

另外,取決于組件是否已經緩存,組件可能不會在最近的請求中再次被請求。如果該組件已被緩存,則該組件將從緩存中加載,而不是實際的URL。

當解析結束,文檔準備就緒并加載時,事件onload被解雇了。所以當onload被解雇,$("#img").attr("src","kkk.png");都跑了。因此:文檔準備就緒,啟動onload。

JavaScript執行命中

$("#img").attr("src", "kkk.png");

kkk.png被下載并加載到

#img

編輯-這一部分詳細闡述了并行或非并行部分:

默認情況下,根據我目前的理解,瀏覽器通常以3種方式運行每個頁面:HTML解析器、Javascript/DOM和CSS。

HTML解析器負責解析和解釋標記語言,因此必須能夠調用其他兩個組件。

例如,當解析器穿過這一行時:a?hypertext?link

解析器將進行3次調用,其中2次調用Javascript,1次調用CSS。首先,解析器將創建該元素并在DOM命名空間中注冊它,以及與該元素相關的所有屬性。其次,解析器將調用將onClick事件綁定到這個特定元素。最后,它將再次調用CSS線程,將CSS樣式應用于此特定元素。

執行是自頂向下和單線程。JavaScript看起來可能是多線程的,但事實是Javascript是單線程的。這就是為什么在加載外部javascript文件時,主HTML頁面的解析會被掛起。

但是,CSS文件可以同時下載,因為CSS規則總是被應用-也就是說元素總是用定義的最新鮮的CSS規則重新繪制-從而使它解除阻塞。

一個元素只有在被解析后才能在DOM中使用。因此,在處理特定元素時,腳本總是放在Window onLoad事件之后或內部。

這樣的腳本將導致錯誤(在jQuery上):

Hello?World

因為當腳本被解析時,#mydiv元素仍未定義。相反,這樣做是可行的:

Hello?World

Hello?World

總結

以上是生活随笔為你收集整理的html文件执行顺序,网页的加载和执行顺序?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。