從輸入url到得到html的詳細過程瀏覽器根據dns伺服器得到網域名稱的ip位址window.load和domcontentloaded的區別
向這個ip的機器傳送http請求
伺服器收到處理並返回http請求
瀏覽器得到返回內容
根據html結構生成dom tree
根據css生成cssom
將dom和cssom整合形成render tree(渲染樹)
根據render tree開始渲染和展示
遇到時,會執行並阻塞渲染
因為js會改變dom結構及內容,所以兩者不能同時進行
靜態資源的壓縮合併(打包合併+**壓縮)
src=
"a.js"
>
script
>
src=
"b.js"
>
script
>
src=
"c.js"
>
script
>
// 打包合併後
src=
"abc.js"
>
script
>
靜態資源快取
使用cdn
使用ssr後端渲染
css放前面,js放後面
懶載入給src賦值乙個很小的圖
真正的放在乙個data後面
用的時候再把data屬性賦值到src中
加快頁面渲染速度
"img1"
src="preview.png"
data-realsrc
="abc.png"
/>
>
var img1 = document.
getelementbyid
('img1');
img1.src = img1.
getattribute
('data-realsrc');
script
>
減少dom操作
// 未快取dom查詢
var i;
for(i =
0; i < document.
getelementsbytagname
('p'
).length; i++
)// 快取了dom查詢
var plist = document.
getelementsbytagname
('p');
var i;
for(i =
0; i < plist.length; i++
)
var listnode = document.
getelementbyid
('list');
// 建立1個片段
var frag = document.
createdocumentfragment()
;var x, li;
for(x =
0; x <
10; x++
)// 最後將片段直接插入正文
listnode.
(frag)
;
事件節流
var textaarea = document.
getelementbyid
('text');
var timeoutid;
textaarea.
addeventlistener
('keyup'
,function()
timeoutid =
settimeout
(function()
,100);
})
盡早執行操作
window.
addeventlistener
('load'
,function()
)document.
addeventlistener
('domcontentloaded'
,function()
)
攻擊**中,獲取cookie,傳送到自己的伺服器
發布部落格,有人檢視部落格內容
會把檢視者的cookie傳送到攻擊者的伺服器 預防
預防
可能對react不是很了解,最近正在學react,大約1個月後就能做出1個react的**
從輸入url到得到html的詳細過程
window.load和domcontentloaded的區別
window.
addeventlistener
('load'
,function()
)document.
addeventlistener
('domcontentloaded'
,function()
)
modern c design 第十一章
本章介紹了經常遇到的雙分派的一種泛型解決方案。c 在語法上實現了單分派,即虛函式,通過動態機制選擇相應的函式。雙分派是形如fun object1 a,object2 b 根據a和b的實際型別動態自動分派乙個處理函式。最容易想到的方案,蠻幹法 寫一大堆過載函式.不過這種方法會有很強的依賴性。也提供了一...
第十一章3
第十一章 一 滾動元件 awt中的滾動元件包括scrollbar 滾動條 和滾動面板 scrollpane 兩種。1 滾動條scrollbar 在指定的取值範圍內快速選取某一值的功能。i.構造方法 public scrollbar int orientation,int value,int visi...
java第十一章
問題 1 錯誤 2 異常,1 編譯時異常 檢查異常 2 執行時異常 不檢查異常 是否能用 解決,是的就是異常,不是的就是錯誤 問題 1 先驗 2 捕獲 異常捕獲機智 異常的三個種類 1 檢查異常 2 執行時異常 3 錯誤 throw 提示方法呼叫者本方法可能發生異常 throw跟異常物件 throw...