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

前端性能優化實戰

原創 精選
開發 前端
相信前端的同學對于 Performance API 應該都不陌生,通常我們將瀏覽器提供的可以進行測算和采集的 API 統稱為 Performance API,該類型的對象可以通過調用只讀屬性 window.performance 來獲得。

You can't manage what you can't measure. —— Peter Drucker。

度量

引語中提到了 彼得·德魯克 的一句話,“一件事如果你無法衡量它、你就無法管理它”,性能同樣如此。如果沒有一個準確的方案來對性能進行度量,那優化就無從談起。

那么對于我們來說,哪些指標是可以用來對頁面性能、用戶體驗進行度量的呢?我會從如下幾個角度逐一為大家講解:

  • Performance API
  • 頁面流暢度

FPS

raf(requestAnimationFrame)

  • 首屏性能

FP、FCP、FMP

CWV(Core Web Vitals)

Performance API

相信前端的同學對于 Performance API 應該都不陌生,通常我們將瀏覽器提供的可以進行測算和采集的 API 統稱為 Performance API,該類型的對象可以通過調用只讀屬性 window.performance 來獲得。

在日常的工作中,我們為了計算一個任務的耗時,通常會在任務執行前后利用 Date.now() 分別創建兩個時間,最后取兩者的差值作為任務執行耗時。但是 Date.now() 存在兩個問題:

  • 返回的時間戳是從 1970 年 1 月 1 日 00:00:00 UTC 開始經過的毫秒數,依賴于系統時間
  • 精度僅到毫秒(ms)

為了對性能做精準的計算,我們可以選擇 Performance API 提供的 performance.now() 來進行高精度計算,其特性為:

  • 時間戳基于頁面打開的時間計算
  • 精度精確到微秒(us)

下圖可以比較直觀的看到兩者的差異:?


頁面流暢度

FPS

幀率 FPS(Frames Per Second - 每秒傳輸幀數),一般對于網頁而言,最優的幀率在 60 FPS,如果越接近這個值,頁面就越流暢,幀率如果遠低于這個值,用戶可能會明顯感覺到卡頓。

60 FPS 意味著頁面每隔 16.5ms(1/60)就需要渲染一次,否則就會出現丟幀的現象,而瀏覽器中的 JavaScript 執行和頁面渲染都是會相互阻塞的,如果在代碼中有非常復雜的邏輯占用了大量的執行時長,就會導致頁面出現卡頓。

在 Chrome 的 devtools 中我們可以執行 Cmd+Shift+P 輸入 show fps 來快速打開 fps 面板,如下圖所示:

通過觀察 FPS 面板,我們可以很方便的對當前頁面的流暢度進行監控

我們在代碼中如果想對當前頁面的 FPS 幀率進行監控,可以參考如下這段示例代碼:

var lastTime = performance.now();
var frame = 0;
var lastFameTime = performance.now();
var loop = function(time) {
var now = performance.now();
var fs = (now - lastFameTime);
lastFameTime = now;
var fps = Math.round(1000/fs);
frame++;
if(now > 1000 + lastTime) {
var fps = Math.round((frame * 1000) / (now - lastTime));
frame = 0;
lastTime = now;
};
window.requestAnimationFrame(loop);
}

requestAnimationFrame

window.requestAnimationFrame() 告訴瀏覽器你希望執行一個動畫,并且要求瀏覽器在下次重繪之前調用指定的回調函數更新動畫。

這里借用 MDN 的描述,顧名思義就是傳入一個函數,讓瀏覽器在下一次渲染之前進行調用。那么基于這個特性,結合上面提供的 FPS 計算示例代碼,我們可以發現,如果我們持續對 requestAnimationFrame 進行調用,那么每次調用的間隔應該在 16.7ms 左右,即滿足我們對于頁面流暢度 60 FPS 的要求,可以使用如下代碼在控制臺執行試試看:

let lastTime = 0;
const measure = () => {
console.log(`${Date.now() - lastTime}ms`);
lastTime = Date.now();
requestAnimationFrame(measure);
};
measure();

首屏性能

首屏性能作為我們最關心的核心指標之一,在性能優化的場景中占據了相當大的比重,那么對于首屏的性能我們有哪些衡量指標呢?

針對這個問題,Google 曾經提出過一系列的以用戶體驗為中心的性能指標。

FP、FCP、FMP

FP(First Paint 譯為“首次繪制”)代表瀏覽器第一次向屏幕傳輸像素的時間,僅表示當前已經開始繪制了,實際意義比較小。

FCP(First Contentful Paint 譯為“首次內容繪制”)代表瀏覽器第一次向屏幕繪制 “內容”(只有首次繪制文本、圖片(包含背景圖)、非白色)。

相比之下,FCP 指的是瀏覽器首次繪制來自 DOM 的內容。例如:文本,圖片,SVG,canvas元素等,這個時間點叫 FCP。

FMP(First Meaningful Paint 譯為“首次有效繪制”)表示頁面中有意義的內容開始出現在屏幕上的時間點。它也是我們來衡量用戶加載體驗的主要指標。

FMP 本質上是一個主觀認知指標,是通過一個算法來猜測某個時間點可能是 FMP,但是計算方式過于復雜而且不準確,后來 Google 也放棄了 FMP 的探測算法,轉而采用更加明確的客觀指標 - LCP。

CWV(Core Web Vitals)

核心 Web 指標是適用于所有網頁的 Web 指標子集,每位網站所有者都應該測量這些指標,并且這些指標還將顯示在所有 Google 工具中。每項核心 Web 指標代表用戶體驗的一個不同方面,能夠進行實際測量,并且反映出以用戶為中心的關鍵結果的真實體驗。

目前的 Web 核心指標由三個方面構成 — 頁面加載性能、交互性、視覺穩定性,包含如下三個指標及閾值:

  • ?Largest Contentful Paint (LCP):最大內容繪制,測量加載性能。為了提供良好的用戶體驗,LCP 應在頁面首次開始加載后的2.5 秒內發生。
  • ?First Input Delay (FID):首次輸入延遲,測量交互性。為了提供良好的用戶體驗,頁面的 FID 應為100 毫秒或更短。
  • ?Cumulative Layout Shift (CLS):累積布局偏移,測量視覺穩定性。為了提供良好的用戶體驗,頁面的 CLS 應保持在 0.1. 或更少。

1)LCP

LCP 關注的是首屏中最大元素渲染渲染的時間,和 FCP 不同的是,FCP 更關注瀏覽器什么時候開始繪制內容,比如一個 loading 頁面或者骨架屏,并沒有實際價值,所以 LCP 相較于 FCP 更適合作為首屏指標。

拿 Detail 頁舉例,在 FCP 時,商品圖片并未加載,此時對于用戶而言,一個近乎白屏的頁面是不具備可交互價值的,在 LCP 時,圖片已經完成了加載,首屏主要元素也幾乎加載完畢,此時的時間作為首屏時間,才是比較接近用戶體感的。

既然 LCP 是根據頁面上占據面積最大的元素渲染時間確定的,那么元素包含哪些呢?

  • 圖片
  • 內嵌在 svg 中的 image 元素
  • 視頻的封面
  • 通過 url() 加載的 background image
  • 文字

在 webpagetest 上可以很直觀的看到當前 LCP 元素的詳情信息:

元素面積的計算規則有如下幾點:

  • 在 viewport 內可見元素的大小,如果是超出可視區域或者被裁減、遮擋等,都不算入該元素大小
  • 對于圖片元素來說,大小是取圖片實際大小和原始大小的較小值,即Min(實際大小,原始大小)
  • 對于文字元素,只取能夠覆蓋文字的最小矩形面積
  • 對所有元素,margin、padding、border 等都不算

2)FID

FID 指標是指用戶首次和網站進行交互到瀏覽器響應該事件的實際延時時間,可以想象一下,如果在你點擊了一個 button 后,頁面沒有任何變化,2-3s 后才開始響應,可想而知體驗是非常糟糕的。

FID 判定的交互行為有:

  • 點擊、觸摸、按鍵等(不包含滾動和縮放)
  • 有事件綁定的行為,比如注冊在某個 dom 上的 click 事件

那么為什么會產生交互延遲呢?比如我在 button 上注冊了一個 click 事件,例如:

btn.addEventListener('click', () => {
// do something
})

按照預期,用戶點擊按鈕的時候,回調函數會被直接觸發,但是如果當前主線程被渲染、Long Tasks 占用,這個回調的執行就會被延后,就會導致 FID 時長增加。

但是 FID 作為一個“非客觀值”,需要用戶進行交互才能采集到,用戶的交互時機,同樣也會對指標的采集、統計造成影響。

3)CLS

CLS 是用來衡量視覺界面穩定性的一個指標,指的是頁面產生的連續累計布局偏移分數。我們在日常業務中經常會用到懶加載、骨架屏等方式,用較低的成本先展示頁面框架,再用動態渲染的方式,來對頁面內容進行填充,如果此時布局發生變化,比如動態加載的元素和原本占位的元素大小不一致,可能就會導致用戶誤操作,影響用戶體驗,CLS 就是為了度量這類問題而存在。

當我們在說布局偏移的時候,指的是:頁面中一個可見元素的起始位置發生改變,而元素的增刪則并不會觸發布局偏移。

那么如何定義偏移的連續累計呢?有如下幾個要素:

  • CLS 計算的并非頁面整個周期的偏移分數之和,而是累計值最高的連續布局偏移。
  • 偏移相隔的時間少于 1s,且整個窗口的最大持續時間為 5s,則被計為連續偏移。

分析工具

DevTools

DevTools 算是和前端同學打交道最多的工具之一了,主要用來查看日志、查看網絡請求、debug 頁面等等,我們同時還可以利用它對頁面性能進行分析。

Network

如上圖所示,這是我們很熟悉的 Network 界面,功能上我用紅框大概做了一下劃分:

  • 選項區:Preverse Log 可以在面板中保留網絡請求,在頁面重定向、當頁跳轉時可以保留之前頁面的日志;Disable Cache可以屏蔽瀏覽器的 http 緩存機制;右側的 No throtting 選擇器可以對當前網絡狀態進行模擬(Fast 3G、Slow 3G 等等)。
  • 請求列表、請求狀態。
  • 請求傳輸體積:默認展示 gzip/br 壓縮后的大小。
  • Waterfall:資源加載的時序和每一步的耗時。

Performance

Performance 面板可以提供更加專業的性能信息。

WebPageTest

?WebPageTest是一個線上性能分析平臺,除了常用的 cwv 性能數據外,還有 performance、lighthouse 報告、頁面對比等功能。

輸入 URL 后我們可以簡單的選擇一個 simple configuration 進行測試,默認會執行 3 次測試。這里我們可以看到頁面的一些核心指標,可以點開對應的指標項進行更詳細的分析,在 Waterfall 頁面我們也可以很直觀的看到當前頁面的請求順序、請求耗時、關鍵節點(FCP、LCP等等)。

優化手段

網絡傳輸優化

這里我們著重看三個時間指標:

  • Total Connection Time:整體的連接耗時
  • TTFB(Time to First Byte):首字節傳輸耗時
  • Content Download:內容傳輸耗時

Total Connection Time

導致連接耗時長的因素可能會有很多種:

  • 機器距離用戶端的物理距離過長(美國 - 中國)。
  • 重復建聯,在頁面中使用了多個不同域名,每次都需要重新建立連接。
  • 用戶端網絡環境問題。

那么為了解決這些問題我們可以采取哪些手段呢:

  • 利用 CDN 對主域名進行動態加速,對資源域名進行緩存,利用邊緣節點的特性縮短用戶請求距離。
  • 利用 pre-connect 對域名進行預建聯,同時對域名進行收攏,這樣在 http2 的情況下可以減少建聯耗時。
  • 充分利用 http 緩存和 servicesworker 請求攔截的特性,對可緩存的資源進行本地緩存,減少發起網絡請求次數。

TTFB + Content Download

TTFB 是從發起請求到收到服務器請求第一個字節的時間,一般來說,如果首屏 html 請求的 TTFB 能達到 100ms 以內,就已經具備不錯的體驗了,如果超過了 500ms,那么用戶就能明顯的感受到白屏,精準的來說,TTFB 是在完成 DNS 查詢、TCP 握手、SSL 握手后發起 HTTP 請求報文到接收到服務端第一個響應報文的時間差,大約等于 一個RTT(Round-Trip Time 即往返時延)+ ServerRT。

那么當 TTFB 耗時很長時,如何進行優化呢?可以參考如下幾種方式:

  • 減少請求傳輸量,避免無用信息。
  • 減少服務端處理時間(增加緩存、慢 SQL 治理等等)。
  • 對首屏 HTML 內容做流式渲染,由于瀏覽器對 HTML 的解析并不依賴與下載完整的 HTML,而是解析一部分渲染一部分,所以服務端可以先將部分準備好的內容通過流式渲染的方式返回,而不是等全部內容就緒后再返回。
  • 懶加載:優先返回必要內容,例如超長頁面,可以先返回首屏看到的內容,剩下的通過異步加載的方式進行渲染,分多個接口進行請求。

那么,是 TTFB 越短越好嗎?

其實也不盡然,我們需要做好 TTFB 和 Content Download 的權衡,例如當我們開啟 gzip/br 壓縮的時候,TTFB 必然會呈上漲趨勢,但是相對應的資源體積變小,就會加快傳輸耗時,減少 Content Download 時間,所以我們應該關注的用戶真實的體驗,而不是一味地盯著時間進行優化。

preload

preload 也就是預加載,關于預加載的方式有很多種,端內和端外也各自有不同的方案,比較常見的有:

  • ?preload 標簽:
  • serviceworker 預加載:flasher、workbox-preload 等。
  • zcache:在客戶端端內通過資源離線包的方式進行預加載。

相關鏈接

?Lighthouse Scoring Calculator?:

https://googlechrome.github.io/lighthouse/scorecalc/

?WebPageTest?:

https://www.webpagetest.org/

?Web Vitals?:

https://web.dev/vitals/

?web-vitals - Github?:

https://github.com/GoogleChrome/web-vitals

責任編輯:武曉燕 來源: 阿里開發者
相關推薦

2020-10-16 10:40:39

前端性能可視化

2022-11-16 12:03:13

性能優化前端

2017-03-29 14:44:20

網絡性能優化

2020-10-16 09:00:12

前端開發技術

2019-11-01 14:00:58

前端性能優化代碼

2009-04-20 08:51:50

MySQL查詢優化數據庫

2022-03-02 11:13:50

Web前端開發

2021-07-05 14:55:28

前端優化圖片

2019-12-13 10:25:08

Android性能優化啟動優化

2023-04-10 11:18:38

前端性能優化

2021-02-02 13:45:31

Vue代碼前端

2012-01-10 16:22:25

Web

2013-01-22 15:27:23

WebWeb前端

2015-05-30 10:04:24

線下公開課51CTO沙龍MDSA

2018-05-09 14:45:50

蘇寧前端Nodejs

2020-03-09 16:43:06

腳本語言瀏覽器JavaScript

2022-01-09 16:45:36

前端性能優化編程

2017-03-14 18:48:06

Android性能優化內存優化

2020-08-24 07:12:17

前端CRP性能優化

2022-09-13 12:56:28

前端優化
點贊
收藏

51CTO技術棧公眾號

国产精品久久久对白| 另类色图亚洲色图| 污片在线免费看| av香蕉成人| 91丝袜国产在线播放| 国产精品久久久久久超碰| 天天爽天天爽天天爽| 亚洲一区二区三区日本久久九 | 91视频综合网| 欧美成人一区在线观看| 欧美日韩二区三区| 真人抽搐一进一出视频| www日韩tube| 成人福利视频网站| 国产精品色悠悠| 久草国产在线观看| 日韩欧美一区二区三区在线视频| 亚洲大尺度美女在线| 色悠悠久久综合网| 老牛影视精品| 亚洲另类在线视频| 色大师av一区二区三区| 欧洲精品久久一区二区| 久久99精品久久只有精品| 97成人精品视频在线观看| 疯狂撞击丝袜人妻| 精品香蕉视频| 亚洲美女在线看| 人妻激情偷乱频一区二区三区| 久久久加勒比| 91高清视频在线| 春日野结衣av| 暖暖在线中文免费日本| 成人欧美一区二区三区| 日韩电影大全在线观看| 少妇人妻一区二区| 国产成人av自拍| 成人在线精品视频| 亚洲视频在线观看免费视频| 老妇喷水一区二区三区| 91精品国产成人| 国产在线一二区| 欧美xxx在线观看| 久久精品久久久久久国产 免费| 波多野结衣av在线观看| 首页亚洲中字| 亚洲毛片一区二区| 久久精品女同亚洲女同13| 91精品国产乱码久久久竹菊| 欧美一区二区美女| 在线观看欧美一区二区| 国产精品日本一区二区三区在线| 欧美日本韩国一区二区三区视频| 亚洲成人福利在线观看| 91精品xxx在线观看| 一本大道久久a久久综合| 国模吧无码一区二区三区| 爱情岛亚洲播放路线| 一区二区三区欧美久久| av动漫在线免费观看| 中日韩高清电影网| 亚洲国产综合91精品麻豆| 999久久欧美人妻一区二区| 手机电影在线观看| 亚洲电影第三页| 久久久久久久中文| 欧美电影免费观看高清完整| 欧美性大战久久久久久久| 午夜两性免费视频| 99综合99| 亚洲成av人片在线观看香蕉| 野外性满足hd| 成人同人动漫免费观看| 久久精品色欧美aⅴ一区二区| 欧美日韩黄色网| 国产精品观看| 欧美在线不卡区| 国产亚洲久一区二区| 国产真实乱对白精彩久久| 99国产超薄肉色丝袜交足的后果| 日本人妻丰满熟妇久久久久久| av一本久道久久综合久久鬼色| 欧美日韩精品久久| 免费在线观看黄色网| 一个色妞综合视频在线观看| 亚洲自偷自拍熟女另类| 777午夜精品电影免费看| 欧美丰满少妇xxxxx高潮对白| 一区二区三区人妻| 国产精品tv| 中文字幕日韩av电影| 永久看片925tv| 新67194成人永久网站| 国产热re99久久6国产精品| 亚洲春色一区二区三区| 久久男人中文字幕资源站| 好色先生视频污| 亚洲黄色网址| 欧美成人性战久久| 蜜臀久久99精品久久久久久| 一本到12不卡视频在线dvd| 91av成人在线| av男人天堂av| 欧美高清在线一区| 国产妇女馒头高清泬20p多| 2019年精品视频自拍| 亚洲国产欧美一区| 一区二区三区影视| 日韩精品一二区| 电影午夜精品一区二区三区| 98在线视频| 欧美日韩免费在线观看| 亚洲视频在线不卡| 欧美精品羞羞答答| 91国内揄拍国内精品对白| 国产精品羞羞答答在线| 久久久国际精品| www.好吊操| 亚洲欧洲日韩精品在线| 亚洲天堂av在线免费| 久久综合综合久久| 国产一区日韩二区欧美三区| 日韩欧美激情一区二区| 精精国产xxxx视频在线播放| 欧美一级艳片视频免费观看| 毛片视频免费播放| 可以免费看不卡的av网站| 精品999在线观看| 在线观看中文字幕的网站| 欧美四级电影在线观看| 少妇真人直播免费视频| 亚洲区第一页| 97碰碰视频| av小次郎在线| 日韩一区二区在线观看视频播放| 国产精品69久久久久孕妇欧美| 久久久久久一区二区| 久久99精品久久久久久久青青日本 | 国产综合成人久久大片91| 日韩欧美精品在线不卡| 国产自产自拍视频在线观看| 精品成人一区二区| 青娱乐av在线| 粉嫩绯色av一区二区在线观看| 公共露出暴露狂另类av| 国产精品视频一区二区三区| 色哟哟入口国产精品| 国产天堂第一区| 中国色在线观看另类| 国内自拍视频网| 日本一区二区高清不卡| 国产精品尤物福利片在线观看| av免费观看一区二区| 欧美亚洲动漫精品| 国产精品综合激情| 极品少妇一区二区三区精品视频| 一区二区精品视频| 91麻豆精品| 九九久久国产精品| 亚洲精品一区二区三区新线路| 亚洲国产综合色| 人妻少妇精品视频一区二区三区| 国产一区二区你懂的| 美国av一区二区三区| 日韩av超清在线观看| 色七七影院综合| 国产手机av在线| 亚洲国产日韩a在线播放性色| 国产一级伦理片| 久久一区激情| 日本特级黄色大片| 91精品短视频| 日本中文字幕成人| 日本欧美在线视频免费观看| 日韩视频免费直播| 国产成人愉拍精品久久| 欧美经典三级视频一区二区三区| 污网站免费在线| 欧美激情麻豆| 久久久久se| 欧美国产视频| 欧美精品国产精品日韩精品| 人操人视频在线观看| 欧洲色大大久久| 亚洲国产精品免费在线观看| 99热精品国产| 亚洲一区二区三区四区五区| 国产精品大片| 日韩视频精品| 成人免费在线电影网| 国产999精品久久久| 超碰caoporn久久| 亚洲精品mp4| 国产精品羞羞答答在线| 疯狂做受xxxx高潮欧美日本| 很污很黄的网站| 91美女在线观看| theporn国产精品| 国产精品视频久久一区| www.亚洲一区二区| 亚洲图片久久| www.av一区视频| 韩国理伦片久久电影网| 97婷婷涩涩精品一区| 日韩在线资源| 亚洲毛片在线免费观看| 丰满肉嫩西川结衣av| 欧美日韩你懂得| 国产www在线| 一区二区免费视频| 天堂av网手机版| 91丨九色丨尤物| 日韩成人av影院| 激情五月婷婷综合网| 男人天堂成人在线| 黑丝一区二区| 99热这里只有精品7| 欧美日韩性在线观看| 国产视频不卡| 欧州一区二区三区| 国产女人精品视频| 亚洲成人va| 庆余年2免费日韩剧观看大牛| 天堂av在线电影| 久久视频在线视频| 2021av在线| 一本色道久久88亚洲综合88| 日韩在线免费看| 亚洲精品久久久久中文字幕欢迎你| 国产哺乳奶水91在线播放| 欧美日韩久久久久久| 久久精品视频5| 婷婷国产在线综合| 久久久午夜影院| 亚洲午夜成aⅴ人片| 久久久精品视频在线| 亚洲欧美日韩国产成人精品影院| 久草福利资源在线| 国产精品国模大尺度视频| 亚洲性猛交xxxx乱大交| 久久亚洲二区三区| 中文字幕av网址| 久久久亚洲高清| 国产大学生视频| 成人国产精品免费观看视频| 日本人妻一区二区三区| 国产精品亚洲专一区二区三区| theporn国产精品| 国产精品自在在线| 四虎国产精品永久免费观看视频| 精品夜夜嗨av一区二区三区| 天堂在线中文在线| 国产精一品亚洲二区在线视频| 亚洲黄色av片| 国产精品99精品久久免费| 中文字幕在线视频一区二区| 国产成人av电影| 三级视频网站在线观看| 91视频观看免费| 成人无码av片在线观看| 国产精品网曝门| www.av免费| 一区二区三区不卡视频在线观看 | 国产精品入口免费视| 国产亚洲精品精品国产亚洲综合| 国产日产欧美a一级在线| 精品成人18| 精品国产一区二区三区四区精华| 久久av资源| 亚洲一区bb| 欧美精品二区| av之家在线观看| 青青草原综合久久大伊人精品优势| 一女二男3p波多野结衣| 国产乱码精品一区二区三区忘忧草| 精人妻一区二区三区| 91蜜桃免费观看视频| 91导航在线观看| 亚洲一区二区影院| 中文字幕视频网站| 欧美精品777| 色屁屁草草影院ccyycom| 亚洲一区999| 亚洲精品一线| 日韩免费在线视频| 国产视频一区二| 欧美少妇一区| 一二三区不卡| 可以在线看的黄色网址| 韩国一区二区在线观看| 日韩aaaaa| 国产精品第五页| 色婷婷av国产精品| 欧美精品高清视频| 亚洲欧美日韩免费| 色婷婷av777| 成人网ww555视频免费看| 91精品美女在线| h视频久久久| 日韩伦理一区二区三区av在线| 天天综合久久| 日韩 欧美 视频| 日本中文字幕一区二区有限公司| 中文字幕一二三| 国产欧美一区二区精品久导航| 婷婷色中文字幕| 色婷婷综合五月| 亚洲国产精品18久久久久久| 一区二区三区久久精品| av蜜臀在线| 国产日韩欧美电影在线观看| 五月综合久久| 成人小视频在线观看免费| 蜜臀a∨国产成人精品| 日本一区二区免费视频| 国产精品色婷婷| 欧美三级一区二区三区| 欧美一级艳片视频免费观看| 韩日在线视频| 午夜免费日韩视频| 中文字幕久久精品一区二区| 亚洲精品日韩在线观看| 国产精品久久久亚洲一区| 性猛交╳xxx乱大交| 国产精品色哟哟| 激情网站在线观看| 亚洲国产精品高清久久久| www.久久ai| 国产日韩在线播放| 第九色区aⅴ天堂久久香| 黑人糟蹋人妻hd中文字幕| 国产成人av电影免费在线观看| 亚洲欧美另类日本| 欧美性xxxxxx少妇| 黄色av网站在线免费观看| 欧美性受xxx| 天堂av一区二区三区在线播放| 狠狠噜天天噜日日噜| 国产一区二区三区国产| 夫妻性生活毛片| 88在线观看91蜜桃国自产| 在线视频二区| 国产精品永久免费观看| av中文一区| 亚欧在线免费观看| 久久精品一级爱片| 中文字幕免费高清网站| 亚洲欧美国产精品va在线观看| 日韩av影片| 欧美另类网站| 日本不卡免费在线视频| 国产99在线 | 亚洲| 欧美色网一区二区| jizzjizz在线观看| 国产精品视频一区二区三区四| 成人羞羞动漫| 欧美成人三级在线播放| 国产精品福利影院| 亚洲欧美一区二区三区情侣bbw | 日韩精品中文字幕在线观看| 91av久久| 久久精品国产精品国产精品污| 91久久亚洲| 短视频在线观看| 日本韩国欧美国产| 自拍视频在线播放| 成人在线激情视频| 国内精品久久久久久久97牛牛| 久久久久亚洲AV成人网人人小说| 亚洲一区免费在线观看| 色av男人的天堂免费在线| 国产精品99久久久久久www | 在线播放国产精品| 久久91超碰青草在哪里看| 三年中国中文在线观看免费播放 | 日韩精品卡通动漫网站| 日本黄色一区二区| 老司机精品视频在线观看6| 99久久精品免费看国产四区| 日韩视频不卡| 国产视频不卡在线| 精品国产免费一区二区三区四区| 自由日本语热亚洲人| 亚洲精品中文字幕在线| 国产成人久久精品77777最新版本| 色播视频在线播放| 色偷偷偷亚洲综合网另类| 国产精品网站在线看| 黄色一级二级三级| 一区二区三区美女视频| 免费成人av电影| 亚洲精品欧美日韩| 久久国产精品亚洲77777| 男人在线观看视频| 亚洲国产欧美在线成人app| 国产第一精品| 国产精品12345| 亚洲欧洲成人精品av97| 天天色综合av| 91嫩草在线视频|