精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

性能優(yōu)化之詳解各種指標(biāo)

開發(fā) 前端
上篇文章最后提到了我們可以通過「performance」的一些屬性對(duì)性能做統(tǒng)計(jì),我們會(huì)發(fā)現(xiàn)performance對(duì)象下有非常多的屬性,遠(yuǎn)不止上篇文章提到的DOMContentLoaded與Load這兩個(gè)事件。

前言

上篇文章最后提到了我們可以通過「performance」的一些屬性對(duì)性能做統(tǒng)計(jì),我們會(huì)發(fā)現(xiàn)performance對(duì)象下有非常多的屬性,遠(yuǎn)不止上篇文章提到的DOMContentLoaded與Load這兩個(gè)事件。

或許你在瀏覽器控制臺(tái)見過它們這些身影:DCL、LCP、FP、FCP、L

這里的DCL與L就是我們上篇文章介紹的DOMContentLoaded與Load這兩個(gè)事件,那剩下的LCP、FP、FCP又分別代表什么呢?

在早期前端三劍客的時(shí)代或者現(xiàn)在的服務(wù)端渲染,DCL與L確實(shí)可以很好地衡量首屏內(nèi)容展示時(shí)間,但對(duì)于現(xiàn)代各種框架盛行的單頁應(yīng)用,由于都是通過JS操作DOM向頁面添加主要內(nèi)容,DCL和L事件就不能很好地衡量首屏顯示時(shí)間了。

于是有FP、FCP、FMP被提出來,它們關(guān)注的不是「加載」,而是「渲染」,因此能更好地表現(xiàn)用戶看到的情況。

FP、FCP這兩個(gè)指標(biāo)雖然表達(dá)了渲染的事件,但對(duì)“用戶關(guān)注的內(nèi)容”沒有體現(xiàn),比如首屏渲染出來一個(gè)背景,或者一個(gè)loading,可能對(duì)于用戶來說和白屏區(qū)別不大。FMP雖然體現(xiàn)了“關(guān)鍵內(nèi)容”的要素,但它是復(fù)雜的、模糊的,甚至是錯(cuò)誤的,并不能準(zhǔn)確識(shí)別頁面主要內(nèi)容的加載時(shí)機(jī)。

后來LCP指標(biāo)被提出來,表示“「用于度量視口中最大的內(nèi)容元素何時(shí)可見」”,它用來代替FMP,表征頁面的關(guān)鍵元素何時(shí)可以被用戶看到。

除了加載性能,還有可交互時(shí)間、穩(wěn)定性指標(biāo)、流暢性指標(biāo),在不同的業(yè)務(wù)場(chǎng)景都可以被監(jiān)控用來作為提升用戶體驗(yàn)的依據(jù)。

性能相關(guān)

上面我們提到了各種性能相關(guān)的事件,那么它們各種代表的含義是什么呢?

關(guān)鍵事件

名詞

全稱

解釋

FP

firstPaint

首次繪制

FCP

firstContentfulPaint

首次內(nèi)容繪制

LCP

largestContentfulPaint

最大內(nèi)容繪制

DCL

domContentLoaded

dom內(nèi)容解析完成

L

loaded

頁面的load事件

DCL(DOMContentLoaded)

當(dāng)初始的 「HTML」 文檔被完全加載和解析完成之后,DOMContentLoaded 事件被觸發(fā),而無需等待樣式表、圖像和子框架的完全加載。

事件監(jiān)聽

document.addEventListener('DOMContentLoaded', (event) => {
    console.log('DOM 完全加載以及解析')
});

耗時(shí)計(jì)算

performance.timing.domContentLoadedEventStart - performance.timing.fetchStart

Load

「load」 事件在整個(gè)頁面及所有依賴資源如樣式表和圖片都已完成加載時(shí)觸發(fā)。它與 DOMContentLoaded 不同,后者只要頁面 DOM 加載完成就觸發(fā),無需等待依賴資源的加載。

事件監(jiān)聽

window.addEventListener('load', (event) => {
  console.log('頁面加載完成');
});

耗時(shí)計(jì)算

performance.timing.loadEventEnd - performance.timing.fetchStart

DCL與Load觸發(fā)的先后順序

很多人可能會(huì)誤以為L(zhǎng)oad的觸發(fā)一定會(huì)在DCL之后,雖然絕大多數(shù)我們看到的確實(shí)是這樣,但你從兩者的MDN解釋上來看,DCL關(guān)注的時(shí)HTML文檔的加載與解析,而Load只關(guān)注資源的加載,所以兩者觸發(fā)的先后順序并不是絕對(duì)的。

比如下面兩種情況:

「第一種:」頁面非常簡(jiǎn)單,沒有引入任何外部資源

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="container">
        
    </div>

</body>
</html>

從圖中可以看到此時(shí)的Load觸發(fā)在DCL之前,這是因?yàn)閘oad不包含對(duì)文檔解析的時(shí)間

「第二種:」我們引入一張圖片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="container">
        <img src="https://imgservices-1252317822.image.myqcloud.com/coco/s06012023/9ac85415.g0q5wz.png" class="zan_icon" />
    </div>

</body>
</html>

從這張圖上我們可以看到此時(shí)DCL比Load先觸發(fā),并且很明顯可以看到在兩者之前多了個(gè)圖片的下載過程。

所以兩者觸發(fā)的先后順序并不是固定的,如果頁面有許多外部資源需要加載,那么load事件會(huì)后觸發(fā),如果頁面內(nèi)容較多,外部資源較少,那么load事件可能先觸發(fā)。」

為了應(yīng)對(duì)現(xiàn)在框架盛行的單頁應(yīng)用新增了下面這幾個(gè)指標(biāo),它們關(guān)注的不再是頁面的「加載」過程,而是頁面的「渲染」過程。

FP與FCP

為了方便,這兩個(gè)放一起講:

FP,全稱 「First Paint,」 代表「首次渲染的時(shí)間點(diǎn)」,即首次視覺變化發(fā)生的時(shí)間點(diǎn)。前端開發(fā)者經(jīng)常談到的「白屏?xí)r間」(用戶看不到任何內(nèi)容)就是「用戶訪問網(wǎng)頁到 FP 的這段時(shí)間」。

FCP,全稱 「First Contentful Paint」,代表「首次」 「DOM 內(nèi)容」 「渲染的時(shí)間點(diǎn)」,「DOM 內(nèi)容」 可以是文本、圖像(包括背景圖像)、<svg>元素或非白色的 <canvas> 元素。


簡(jiǎn)單點(diǎn)理解就是FCP事件指渲染出第一個(gè)內(nèi)容的事件,而FP指渲染出第一個(gè)像素點(diǎn),渲染出的東西可能是內(nèi)容,也可能不是。

需要注意的是,F(xiàn)CP一定不會(huì)比FP晚觸發(fā),但可能會(huì)一起觸發(fā),絕大多數(shù)情況是FP在FCP之前觸發(fā)!」

幾種場(chǎng)景

「第一種:」無FP

是不是很奇怪,怎么會(huì)有這種情況?其實(shí)我們上面DCLLoad那里的第一個(gè)案例就出現(xiàn)了這種情況

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="container">
        
    </div>

</body>
</html>

頁面上有節(jié)點(diǎn)但沒有樣式,很顯然這種情況是不需要渲染頁面的,所以也就沒有FP

當(dāng)然這里需要注意的是這里的節(jié)點(diǎn)不包括一些自身可見的節(jié)點(diǎn)(比如img、input、video等)

還有一種情況就是「如果要渲染的內(nèi)容在視口之外,那么也不會(huì)觸發(fā) FP」

「第二種:」有FP無FCP

同時(shí)為了驗(yàn)證第一種說法的注意點(diǎn),這里我就寫一個(gè)input來試試

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="container">
        <input type="text" />
    </div>

</body>
</html>

從這里我們就能發(fā)現(xiàn),此時(shí)頁面只會(huì)觸發(fā)FP,因?yàn)闆]有內(nèi)容

耗時(shí)計(jì)算

// FP
const fp = performance.getEntries('paint').filter(entry => entry.name == 'first-paint')[0].startTime;

// FCP
const fcp = performance.getEntries('paint').filter(entry => entry.name == 'first-contentful-paint')[0].startTime;

FP與DCL的觸發(fā)順序

瀏覽器不一定等到所有的DOM都解析完再開始渲染,如果DOM節(jié)點(diǎn)少,瀏覽器會(huì)加載完再渲染,但是如果節(jié)點(diǎn)很多,瀏覽器解析一部分節(jié)點(diǎn)后就會(huì)開始渲染(這時(shí)候就會(huì)觸發(fā)FP)。也就是說,當(dāng)需要渲染的節(jié)點(diǎn)數(shù)少的時(shí)候,DCL會(huì)在FP前面;當(dāng)需要渲染的節(jié)點(diǎn)數(shù)很多時(shí)候,DCL會(huì)在FP后面。

現(xiàn)在來說,絕大部分的項(xiàng)目都是FP在DCL之前觸發(fā),這樣用戶可以更快的看到頁面內(nèi)容。

LCP

LCP,全稱 「Largest Contentful Paint」,根據(jù)頁面首次開始加載的時(shí)間點(diǎn)(即 「first started loading」,可以通過 performance.timeOrigin 得到)來報(bào)告可視區(qū)域內(nèi)可見的「最大圖像或文本塊」完成渲染的相對(duì)時(shí)間

LCP評(píng)分

為了提供良好的用戶體驗(yàn),我們應(yīng)努力將最大內(nèi)容繪制時(shí)間控制在「2.5 秒」或更短。

????????????

LCP包含哪些元素類型

  • <img>元素
  • <image>、 <svg>元素內(nèi)的元素
  • <video>帶有海報(bào)圖像的元素(使用海報(bào)圖像加載時(shí)間)
  • 具有通過函數(shù)加載的背景圖像的元素url()(而不是CSS 漸變)
  • 包含文本節(jié)點(diǎn)或其他內(nèi)聯(lián)級(jí)文本元素子元素的塊級(jí)元素。

隨著更多研究的進(jìn)行,未來可能會(huì)添加其他元素。

如何確定頁面的LCP元素

這里可以通過performance面板,在Timings這一行找到LCP,點(diǎn)擊它再找到下面的summary,就能找到LCP對(duì)應(yīng)的節(jié)點(diǎn)元素了。

耗時(shí)計(jì)算

new PerformanceObserver((entryList) => {
  for (const entry of entryList.getEntries()) {
    console.log('LCP candidate:', entry.startTime, entry);
  }
}).observe({type: 'largest-contentful-paint', buffered: true});

體驗(yàn)相關(guān)

谷歌一直十分重視網(wǎng)站的用戶體驗(yàn),移動(dòng)友好性,頁面加載速度和HTTPS是Google已經(jīng)使用的頁面排名因素,而2020年,谷歌將Core Web Vitals新納入的用戶體驗(yàn)指標(biāo)。

TTI

TTI 全稱「Time to Interactive」 它用于測(cè)量頁面從開始加載到主要子資源完成渲染,并能夠快速、可靠地響應(yīng)用戶輸入所需的時(shí)間。

測(cè)量步驟

測(cè)量TTI一般需要按以下步驟:

  1. 先進(jìn)行「首次內(nèi)容繪制 (FCP)」
  2. 沿時(shí)間軸正向搜索時(shí)長(zhǎng)至少為 5 秒的安靜窗口,其中,安靜窗口的定義為:沒有「long task」且不超過兩個(gè)正在處理的網(wǎng)絡(luò) GET 請(qǐng)求
  3. 沿時(shí)間軸反向搜索安靜窗口之前的最后一個(gè)長(zhǎng)任務(wù),如果沒有找到長(zhǎng)任務(wù),則在 FCP 步驟停止執(zhí)行
  4. TTI 是安靜窗口之前最后一個(gè)長(zhǎng)任務(wù)的結(jié)束時(shí)間(如果沒有找到長(zhǎng)任務(wù),則與 FCP 值相同)

為了方便理解,可以對(duì)照這張圖

優(yōu)秀指標(biāo)

為了提供良好的用戶體驗(yàn),網(wǎng)站在普通移動(dòng)硬件上進(jìn)行測(cè)試時(shí),應(yīng)該努力將可交互時(shí)間控制在5 秒以內(nèi)。

TBT

TBT全稱 「Total Blocking Time」, 它主要是用于度量 FCP 和 TTI 之間的總的阻塞時(shí)間。

只要存在「long task」(在主線程上運(yùn)行超過 50 毫秒 (ms) 的任務(wù)),主線程就會(huì)被視為“阻塞”。我們說主線程被“阻塞”,因?yàn)闉g覽器無法中斷正在進(jìn)行的任務(wù)。因此,如果用戶在長(zhǎng)時(shí)間任務(wù)中確實(shí)與頁面進(jìn)行交互,則瀏覽器必須等待任務(wù)完成才能響應(yīng)

優(yōu)秀指標(biāo)

測(cè)量TBT可以使用谷歌Lighthouse

為了提供良好的用戶體驗(yàn),在「平均移動(dòng)硬件」上進(jìn)行測(cè)試時(shí),網(wǎng)站應(yīng)努力使總阻塞時(shí)間低于「200 毫秒」。

CLS

CLS 全稱 「Cumulative Layout Shift」 累積布局偏移 ,它用來測(cè)量整個(gè)頁面生命周期內(nèi)發(fā)生的所有意外布局偏移中最大一連串的布局偏移分?jǐn)?shù)。

CLS詳情

只要可視區(qū)域中可見元素的起始位置(例如,元素在默認(rèn)書寫模式下的頂部和左側(cè)位置)在兩幀之間發(fā)生了變更,該 API 就會(huì)報(bào)告layout-shift條目。這樣的元素被視為不穩(wěn)定元素。

請(qǐng)注意,只有當(dāng)現(xiàn)有元素的起始位置發(fā)生變更時(shí)才算作布局偏移。如果將新元素添加到 DOM 或是現(xiàn)有元素更改大小,則不算作布局偏移,前提是元素的變更不會(huì)導(dǎo)致其他可見元素的起始位置發(fā)生改變。

CLS分?jǐn)?shù)

瀏覽器在計(jì)算布局偏移分?jǐn)?shù)時(shí),會(huì)查看可視區(qū)域大小和兩個(gè)已渲染幀之間的可視區(qū)域中不穩(wěn)定元素的位移。布局偏移分?jǐn)?shù)是該位移的兩個(gè)度量的乘積:影響分?jǐn)?shù)距離分?jǐn)?shù)(兩者定義如下)。

布局偏移分?jǐn)?shù) = 影響分?jǐn)?shù) * 距離分?jǐn)?shù)

優(yōu)秀指標(biāo)

為了提供良好的用戶體驗(yàn),網(wǎng)站應(yīng)該努力將 CLS 分?jǐn)?shù)控制在「0.1」 或以下。為了確保您能夠在大部分用戶的訪問期間達(dá)成建議目標(biāo)值,一個(gè)良好的測(cè)量閾值為頁面加載的「第 75 個(gè)百分位數(shù)」,且該閾值同時(shí)適用于移動(dòng)和桌面設(shè)備。

這里需要注意的是在寫動(dòng)畫時(shí)優(yōu)先考慮使用CSS transform屬性,因?yàn)樗軌蛟诓挥|發(fā)布局偏移的情況下為元素設(shè)置動(dòng)畫:

  • 用transform: scale()來替代和調(diào)整height和width屬性。
  • 如需使元素能夠四處移動(dòng),可以用transform: translate()來替代和調(diào)整top、right、bottom或left屬性。

web-vitals

為了更準(zhǔn)確的統(tǒng)計(jì)性能數(shù)據(jù),可以使用web-vitals庫來測(cè)量各項(xiàng)性能指標(biāo)

「可以獲取的指標(biāo)有:CLS、FID、LCP、以及 FCP、TTFB」

import {getCLS, getFID, getLCP} from 'web-vitals'

getCLS(console.log);
getFID(console.log);
getLCP(console.log);


責(zé)任編輯:華軒 來源: 前端南玖
相關(guān)推薦

2010-05-24 14:45:58

2021-07-27 20:51:02

AndroidDNS網(wǎng)絡(luò)

2010-03-02 09:53:14

MySQL性能優(yōu)化

2024-03-07 11:03:21

ElasticseaES索引

2022-01-09 16:45:36

前端性能優(yōu)化編程

2021-07-29 14:20:34

網(wǎng)絡(luò)優(yōu)化移動(dòng)互聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)

2011-06-20 14:27:57

Qt Embedded

2009-09-22 17:25:41

優(yōu)化Hibernate

2022-02-16 14:10:51

服務(wù)器性能優(yōu)化Linux

2021-11-29 11:13:45

服務(wù)器網(wǎng)絡(luò)性能

2013-06-17 10:19:30

交換機(jī)性能交換機(jī)參數(shù)交換機(jī)

2009-06-30 11:23:02

性能優(yōu)化

2018-01-09 16:56:32

數(shù)據(jù)庫OracleSQL優(yōu)化

2019-12-13 10:25:08

Android性能優(yōu)化啟動(dòng)優(yōu)化

2011-07-11 15:26:49

性能優(yōu)化算法

2023-07-19 12:24:48

C++constexpr?語句

2013-02-20 14:32:37

Android開發(fā)性能

2025-01-20 09:09:59

2021-08-10 08:44:13

系統(tǒng)性能優(yōu)化

2022-09-22 08:05:23

架構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

性金发美女69hd大尺寸| 日韩欧美中文一区二区| 亚洲看片网站| 99热这里只有精| 亚洲伦理精品| 亚洲图片在区色| 992tv人人草| 亚洲免费福利| 亚洲精品v日韩精品| 久久99精品久久久久久水蜜桃 | 国产成人精品国内自产拍免费看 | 久久国产中文字幕| 欧美va亚洲va香蕉在线| 国产一级片黄色| 在线观看h网| 国产性色一区二区| 国产精品v欧美精品v日韩| 337p粉嫩色噜噜噜大肥臀| 欧美成人一品| 一本一本久久a久久精品牛牛影视| 曰本三级日本三级日本三级| 四虎4545www精品视频| 亚洲成人免费观看| 桥本有菜av在线| 你懂的在线播放| 成人深夜视频在线观看| 成人国产精品日本在线| 中文字幕亚洲乱码熟女1区2区| 永久亚洲成a人片777777| 一区二区三欧美| 中文字幕在线观看的网站| 久久九九精品视频| 欧美日韩久久不卡| 可以免费在线看黄的网站| 精品精品导航| 亚洲激情网站免费观看| 中文字幕日韩精品久久| 国产精品天堂| 久久综合九色综合欧美98| 俄罗斯精品一区二区三区| 97免费观看视频| 日本亚洲视频在线| 日韩女优在线播放| 男女视频免费看| 激情文学一区| 欧美激情亚洲综合一区| 美女的奶胸大爽爽大片| 天天久久综合| 久久综合88中文色鬼| 久草福利资源在线| 97视频精品| 日日噜噜噜夜夜爽亚洲精品| 中文字幕精品亚洲| 日本黄色精品| 日韩在线观看视频免费| 青青青视频在线免费观看| 精品欧美激情在线观看| 亚洲一品av免费观看| 亚洲第一综合网| 日韩免费久久| 久久精品欧美视频| 成年人av电影| 黄色亚洲精品| 91黑丝高跟在线| 亚洲欧美精品一区二区三区| 免播放器亚洲| 国产精品成人av性教育| 亚洲中文一区二区三区| 狠狠色丁香久久婷婷综合丁香| 91精品视频播放| 99在线观看免费| 国产99久久久精品| 你懂的视频在线一区二区| 激情小说 在线视频| 国产精品美女久久久久aⅴ国产馆| 亚洲精品9999| 成人三级网址| 亚洲v日本v欧美v久久精品| 欧美极品欧美精品欧美| 国产成人免费9x9x人网站视频| 欧美精品视频www在线观看| 欧美性猛交乱大交| 欧美日韩直播| 在线看国产精品| 欧美又粗又大又长| 性色一区二区三区| 国产欧美精品一区二区| 精品人妻无码一区二区| 92精品国产成人观看免费| 偷拍视频一区二区| 国产区美女在线| 日韩欧美中文字幕在线播放| xxxx在线免费观看| 青青一区二区| 久久九九有精品国产23| 亚洲天堂日韩av| 美女视频免费一区| 国产精品永久入口久久久| 国产免费a∨片在线观看不卡| 一区二区三区四区视频精品免费 | 久久久久国产精品麻豆| 懂色av粉嫩av蜜臀av| 亚洲欧洲美洲av| 欧美一级午夜免费电影| 亚洲AV无码国产成人久久| 欧美激情在线| 国产精品一区二区在线| 五月天福利视频| 亚洲欧洲国产日本综合| 国产亚洲综合视频| 91欧美日韩在线| 久久久999精品| 黄色污污网站在线观看| 丁香婷婷综合色啪| 在线视频不卡一区二区三区| 中文在线中文资源| 亚洲精品一线二线三线无人区| 国产成人免费观看网站| 亚洲理论在线| 亚洲综合社区网| av免费在线一区二区三区| 午夜精彩视频在线观看不卡| 久久精品国产99久久99久久久| 最新亚洲精品| 91sao在线观看国产| 国产不卡av在线播放| 亚洲国产精品t66y| 老司机午夜av| 亚洲宅男网av| 4438全国亚洲精品在线观看视频| 亚洲国产精品久久久久久久 | 国产一级在线播放| 韩国v欧美v日本v亚洲v| 永久域名在线精品| 成人在线免费电影网站| 亚洲女成人图区| 91视频免费网址| www.亚洲在线| 国产无限制自拍| 黑人久久a级毛片免费观看| 久久天天躁狠狠躁夜夜躁| 一级欧美一级日韩| **网站欧美大片在线观看| 亚洲欧美手机在线| 亚洲久久久久| 亚洲综合在线做性| 51xtv成人影院| 日韩欧美一级在线播放| 日韩女优一区二区| 国产ts人妖一区二区| youjizz.com在线观看| 玖玖精品一区| 欧美国产日韩一区二区在线观看| 午夜精品久久久久久久99| 亚洲综合在线观看视频| 国产性猛交96| 亚洲精品欧美| 快播亚洲色图| 高清在线一区| 成年人精品视频| 亚洲精品福利网站| 五月激情综合网| 国产美女免费无遮挡| 日本sm残虐另类| 桥本有菜av在线| www.豆豆成人网.com| 午夜精品久久17c| 可以直接在线观看的av| 欧美日韩一区在线| 九九九在线视频| 97久久精品人人做人人爽| 波多野结衣50连登视频| 清纯唯美亚洲综合一区| 91网站免费观看| 丰满的护士2在线观看高清| 日韩精品有码在线观看| 久久精品国产亚洲av麻豆蜜芽| 亚洲天堂中文字幕| 李丽珍裸体午夜理伦片| 日韩二区三区四区| 特级西西444| 希岛爱理av免费一区二区| 国产精品久久综合av爱欲tv| 91麻豆免费在线视频| 日韩不卡中文字幕| 中文字幕久久网| 亚洲成av人片一区二区三区| 欧美黄色一级生活片| 国产毛片精品视频| 欧美xxxxx在线视频| 久久久久国产| 麻豆成人av| 国产精品一区二区精品视频观看 | av大全在线观看| 亚洲日本乱码在线观看| 色噜噜在线观看| 精品一区二区三区欧美| 日本少妇高潮喷水视频| 久久麻豆精品| 久久亚洲综合网| 视频一区国产| 国产又爽又黄的激情精品视频 | 欧美三级网页| 亚洲视频欧美在线| 免费福利视频一区| 91啪国产在线| 91tv亚洲精品香蕉国产一区| 91精品国产99| 3d玉蒲团在线观看| 色综合影院在线| 欧美日韩激情视频一区二区三区| 欧美一级日韩免费不卡| 337p粉嫩色噜噜噜大肥臀| 亚洲va韩国va欧美va精品| 中文字幕av播放| 国产日韩精品一区二区浪潮av | 91精品国产99| 肉体视频在线| 久久久精品999| av电影在线网| 亚洲欧洲av一区二区| 四虎精品一区二区三区| 欧美一区二区三区在线| 亚洲精品国产精品国自产网站按摩| 午夜电影网亚洲视频| 久久久夜色精品| 亚洲天堂精品在线观看| 四虎影视一区二区| 国产日产欧美一区| 日韩av在线看免费观看| 26uuu久久天堂性欧美| 日韩免费高清一区二区| 成人av在线影院| 国产精品19p| 国产黄色成人av| 69久久精品无码一区二区| 国内精品免费在线观看| 亚欧美在线观看| 免费观看在线综合| 中文字幕网av| 麻豆精品视频在线| 国产美女视频免费看| 麻豆成人综合网| 中文字幕中文在线| 精品一区二区久久| 九九久久久久久| 国产伦精品一区二区三区在线观看| 亚洲精品永久视频| 国产一区二区成人久久免费影院| 欧美视频亚洲图片| 国产精品自拍网站| 亚洲av综合色区无码另类小说| 国产成人亚洲综合a∨婷婷图片| 香蕉视频xxxx| 成人午夜免费av| 亚洲精品乱码久久| 久久精品男人天堂av| 妺妺窝人体色WWW精品| 中文字幕第一区综合| 国产又粗又长免费视频| 成人免费一区二区三区在线观看| 成年人二级毛片| 亚洲最色的网站| 你懂的国产视频| 欧美综合久久久| 国产精品色综合| 亚洲国内高清视频| 蜜芽tv福利在线视频| 日韩中文在线观看| 免费不卡av| 日本国产一区二区三区| 成人福利片在线| 91精品网站| 欧洲精品一区| 亚洲国产午夜伦理片大全在线观看网站| 91tv官网精品成人亚洲| 久久久久久免费看| 青青草国产成人99久久| 欧美专区第二页| 久久综合999| 五月天激情丁香| 黑人精品xxx一区| 中文字幕一区二区三区免费看| 91精品国产综合久久久蜜臀粉嫩| 黑人乱码一区二区三区av| 亚洲午夜未删减在线观看 | 香蕉国产在线视频| 中文字幕久久精品| 男人添女人下部高潮视频在线观看| 欧美在线观看视频| 国产成人免费视频网站视频社区| 国产伦精品一区二区| 欧美一区二区性| 男人添女荫道口女人有什么感觉| 日韩精品午夜视频| 特黄特色免费视频| 国产欧美1区2区3区| 精品在线免费观看视频| 欧美在线短视频| 欧美一级在线免费观看| www.亚洲男人天堂| 自拍偷拍欧美视频| 91青青草免费观看| 欧美亚洲激情| 亚洲美免无码中文字幕在线 | 国产精品无码专区| 自拍偷拍亚洲欧美日韩| 久久久久久久久久久影院| 91精品欧美一区二区三区综合在| 久久久久久久久亚洲精品| 九九精品在线视频| 成人在线视频免费| 免费久久久一本精品久久区| 欧美成熟视频| 亚洲综合婷婷久久| 久久久精品日韩欧美| 日本三级黄色大片| 日韩区在线观看| 欧美日韩在线看片| 国产精品久久久久久久7电影| 岛国精品一区| 黄色一级片国产| 国产尤物一区二区在线| 日本综合在线观看| 欧美性猛交xxxx黑人| 国精产品一品二品国精品69xx| 久久精品人人做人人爽| 欧洲精品久久久久毛片完整版| 青青草久久网络| 久久精品中文| 成人h动漫精品一区| 香蕉成人伊视频在线观看| 亚洲第一天堂影院| 蜜月aⅴ免费一区二区三区| 成人豆花视频| 日韩视频在线观看视频| 精品一区二区三区在线观看| 国产一区二区三区视频播放| 欧美在线|欧美| 春暖花开成人亚洲区| 国产精品96久久久久久又黄又硬| 美日韩中文字幕| 亚洲国产精品久久久久婷蜜芽| 99久久久精品| 欧美一级片免费在线观看| 亚洲成人性视频| 操人在线观看| 蜜桃导航-精品导航| 国产日韩欧美三级| 人妻大战黑人白浆狂泄| 色综合久久久久综合| 国产精品麻豆一区二区三区| 国产精品高潮呻吟久久av野狼 | 亚洲高清在线看| 一区二区三区视频免费在线观看| 福利一区二区| 中文字幕一区二区三区在线乱码| 精品一区二区三区免费| 538精品在线视频| 精品嫩草影院久久| 国产精品25p| 日日骚一区二区网站| 久久精品国产77777蜜臀| 免费成年人视频在线观看| 欧美成人性战久久| 黄色aa久久| 色婷婷精品国产一区二区三区| 老汉av免费一区二区三区| 懂色av懂色av粉嫩av| 欧美精品一区二区三| 成人私拍视频| 亚洲欧美日产图| 懂色中文一区二区在线播放| 九九热在线免费观看| 中文字幕九色91在线| 欧美激情三级| 日韩av资源在线| 1000精品久久久久久久久| 少妇荡乳情欲办公室456视频| 日本精品免费一区二区三区| 国产大片一区| 免费的av网站| 欧美日韩一区二区三区免费看| 免费污视频在线| 视频一区二区三| 豆国产96在线|亚洲| 亚洲精品无码久久久久| 欧美国产日韩在线| 残酷重口调教一区二区| 亚洲色图欧美另类| 欧美在线色视频| av资源在线| 超碰免费在线公开| 久久亚洲影视婷婷| 国产99999| 国产精品一久久香蕉国产线看观看| 尹人成人综合网| 国产又粗又猛又爽又黄的视频小说| 亚洲高清福利视频| 四虎国产精品成人免费影视|