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

這幾種解決方案讓你的首屏加載快到起飛!

開發 前端
preload?是告訴瀏覽器頁面必定需要的資源,瀏覽器一定會加載這些資源,而prefetch是告訴瀏覽器頁面可能需要的資源,瀏覽器不一定會加載這些資源。

首屏加載的意義不言而喻,畢竟第一印象最重要,直接影響用戶體驗和留存。當用戶使用你的產品的時候,一上來半天刷不出首頁,很多用戶往往就直接給你Ctrl+F4了。

那么問題來了,怎么做首屏優化。在了解怎么優化之前,我們需要知道首屏加載的幾個重要時刻。

圖片圖片

  • 首次加載
  • 什么時候加載出頁面
  • 什么時候用戶可以交互

為此,我們可以從以下幾個方面來進行相關的優化。

資源體積太大

資源壓縮與合并/代碼拆分

將小圖片內聯為Data URL,也可以額減小HTTP的請求數量,需要注意的是,瀏覽器緩存并不會存儲Data URL格式的圖片,放在css的background-image屬性中即可。由于使用Data URL在渲染和CPU消耗上更大,所以使用時也需要謹慎而不應該一味的濫用。

通過以上幾種方法,我們主要要解決的問題是以下幾個

  • 減少HTTP請求數量
  • 減少請求資源的大小
  • 減少不必要的代碼

需要注意的是,在CSS和JS合并的時候我們需要謹慎,并非所有CSS和JS合并都是好的,不能一味的為了做首屏或者性能優化而引發了其他方面的問題。在有若干個小文件的時候,或者是沒有沖突的同模塊的文件的時候是可以考慮合并的。但是如果我們把其他不同模塊的CSS和JS也合并到了一起,可能會給后續的解析處理和自己的代碼維護帶來問題,而且JS文件間還可能會出現命名空間的沖突。這些都是無腦的資源合并會帶來的問題。

傳輸壓縮

  • Gzip ??需要注意的是,太小的文件啟用Gzip以后可能反而會增大,這是因為壓縮前會寫入一段映射字典,但是這個是Byte層面的可以忽略不計。

HTTP2.0和HTTP1.1

圖片圖片

3630394917-5b229aa26f852_fix732.png

圖上簡單概括就是:

  • HTTP1.1的keep-alive默認開啟,而且keep-alive是按順序請求返回,等到上一個請求返回以后才會進行下一個請求,會有阻塞問題。keep-alive的請求順序如下:
  • 1.請求style.css
  • 2.返回style.css
  • 3.請求script.js
  • 4.返回script.js ??如何判斷是否開啟了keep-alive可以從Response Headers看到,切記是HTTP1.1中的。

圖片圖片

  • 但是HTTP2.0就不一樣了,HTTP2.0的多路復用可以一次性發送多個請求,不一定是按順序也不需要等待上一個請求返回。這些請求都有唯一標識,所以可以無序。

比較詳細的內容在面試點之《HTTP協議與TCP/IP協議》[1]中有。

HTTP緩存

在此之前,我們要熟悉兩個概念,強緩存和協商緩存。

圖片圖片

強緩存:瀏覽器直接從本地緩存中取數據,而不用去請求服務器。Expires/Cache-Control(優先級更高,且為通用字段,請求和返回報文中都可以使用)

圖片圖片

  • Cache-Control常見的屬性有很多:
  • max-age:單位是秒,意為緩存的持續時間(壽命)。比如Cache-Control:max-age=60;意為60秒內會直接使用該緩存,而max-age<=0時則每次都要發送請求驗證緩存是否有修改,改了的話返回200,沒改返回304;
  • no-store:不使用緩存,直接去服務器請求數據;
  • no-cache:不緩存過期資源;客戶端會要求緩存服務器不要從緩存拿數據,而是去請求源服務器,源服務器會告訴緩存服務器,使用緩存時先告訴我驗證一下。區別在于直接使用緩存是不會請求源服務器的。
  • public:表明響應可以被任何對象(發送請求的客戶端,代理服務器等等)緩存;
  • privite:表明響應只能被單個用戶緩存,不能作為共享緩存(即代理服務器不能緩存它);
  • Expires:GMT格式的時間字段,意為到期時間。超過此時間以后資源作廢。缺點在于是和本地時間比較,本地時間可能存在誤差。也可以設置為0或者負數,此時不使用緩存直接從服務器重新請求數據。

協商緩存:瀏覽器發送請求到服務器,服務器判斷是否使用本地緩存。

Etag(響應頭中)和If-None-Match(請求頭中)【優先級更高】

圖片圖片

??兩者的值都是該資源的唯一標識字符串。第一次請求時,響應頭(Response Headers)中會添加一個Etag的字段,再次請求服務器時,會在請求頭報文(Request Headers)中添加If-None-Match字段,它的值就是上次響應頭(Response Headers)中的Etag值。服務器會比較兩個值是否相同。

  • 相同: 返回狀態碼304 Not Modified,直接取用本地緩存即可。
  • 不相同: 說明資源內容已經發生了變化,此時接受請求,返回最新的數據,并更新Etag值。Etag中可能會有W/這樣的標識,W/(大小寫敏感) 表示使用弱驗證器。弱驗證器很容易生成,但不利于比較。強驗證器是比較的理想選擇,但很難有效地生成。相同資源的兩個弱Etag值可能語義等同,但不是每個字節都相同。

需要特別注意的是,Etag變化并不代表文件內容一定變化,Etag的值取決于服務端的算法。比如Etag的值由最后一次修改時間+內容經過哈希算法而得,但是此時我編輯了內容并沒有修改內容,最后一次的修改時間會發現變化,此時的Etag值肯定也會變化,但是內容并沒有發生改變

Last-Modified(響應頭中)和If-Modified-Since(請求頭中)

圖片圖片

??如圖所示,兩者的值都是GMT格式的時間字符串,Last-Modified意為最后一次修改文件的時間,其實這個方法和上一種原理一樣,只不過一個是用唯一標識字符串來比較,一個是用最后一次修改的時間來比較。也是第一次請求時,響應頭(Response Headers)中會添加一個Last-Modified的字段,記錄了最后一次文件修改的時間,然后再次請求時,會在請求頭(Request Headers)中添加If-Modified-Since字段,值就是上一次響應時響應頭中Last-Modified的值。服務器會比較Last-Modefied和Last-Modefied-Since的值。

  • 相同: 返回狀態碼304 Not Modified,直接取用本地緩存即可。
  • 不相同: 說明資源內容已經發生了變化,此時接受請求,返回最新的數據,并更新Last-Modified值。
兩者的區別
  • 當一個文件周期性修改而文件內容并沒有修改的時候,Last-Modified還是會從服務器請求新的數據,這并不是我們希望看到的,這個時候Etag能更好的處理這種情況。
  • Last-Modified的精準度只有秒,當一秒內修改多次時,這種修改無法判斷。??所以Etag的精度和適用性要強于Last-Modefied,兩者雖然可以同時使用,但是服務器會優先驗證Etag。

首次進入白屏時間過長

骨架屏(vue-content-placeholders)

效果如下圖:(圖片來源網絡,侵刪)

圖片圖片

我使用的是這個插件vue-content-placeholders[2],其次,骨架屏是需要自己畫的,你需要把布局畫好做成一個組件,在需要的頁面引用,然后等數據請求回來以后隱藏掉再顯示正常的頁面就可以。通常僅僅在接口請求比較多的頁面用到骨架屏,畢竟當你的頁面改動的時候骨架屏的頁面布局也需要改動,如果每個頁面都使用骨架屏未免太浪費開發時間也增加了日后的維護成本。

  • root <content-placeholders>(以下三個屬性會應用到所有子組件中)
  • animated (default: true; type: Boolean):是否開啟動畫效果
  • rounded (default: false; type: Boolean):是否加上邊角度,等同于設置border-radius
  • centered (default: false; type: Boolean):是否同時垂直+水平居中顯示
  • <content-placeholders-heading />
  • img (default: false; type: Boolean):是否顯示圖片模塊

圖片圖片

  • <content-placeholders-text />
  • lines (default: 4; type: Boolean):顯示幾條

圖片圖片

  • <content-placeholders-img />

圖片圖片

可以在標簽上直接設置class和style

<content-placeholders class='xxx' :animated='true' :rounded='true' :centered='true'>
    <content-placeholders-heading class='xxx' style='xxxx' :img="true" />
</content-placeholders>
<content-placeholders style='xxxx' :animated='true' :rounded='true' :centered='true'>
    <content-placeholders-text class='xxx' style='xxxx' :lines="3" />
    <content-placeholders-img class='xxx' style='xxxx' />
</content-placeholders>

vue文件引入需要的骨架屏組件即可。

<template>
  <div>
    <Placeholders-Component v-if="isShow"></Placeholders-Component>
    <div v-else class="main">
      ·······
    </div>
  </div>
</template>
<script>
import PlaceholdersComponent from "./PlaceholdersComponent";//引入寫好的骨架屏組件
export default {
  components: {
    PlaceholdersComponent,
  },
  data() {
    return {
      hidden: true,
    };
  },
};
</script>

懶加載

  • Vue的路由懶加載(官方文檔[3]) ??在我們的項目構建加載時,JavaScript文件才是最影響加載時長的,此時我們把各個路由切分成塊,按需加載路由,這樣會節約相當多的時間。

使用方法也很簡單:

const Foo = () => import('./Foo.vue')
    const Bar = () => import('./Bar.vue')
    
    const router = new VueRouter({
        routes: [{ 
            path: '/foo',
            component: Foo 
        },{ 
            path: '/bar',
            component: Bar 
        }]
    })
  • 圖片懶加載 ??在我的《前端性能優化(二):圖片[4]》文中已經講了比較詳細的圖片懶加載在此就不多解釋了。

預渲染

我使用的是Vue.js官網介紹使用的prerender-spa-plugin。這個插件的配置很多,它的GitHub地址在這里[5]。

Vue.js的官網中給到該預渲染插件如下描述:

圖片圖片

預渲染也有一些需要注意的點:

  • 如果路由過多,成百上千(當然這應該是極少數情況)的時候,使用預渲染會非常緩慢。雖然說每次更新只用執行一次,但是需要的時間會非常長。
  • 接口請求過多的時候不建議使用預渲染,而是使用SSR;如果沒有SEO的需求,骨架屏是個更簡單方便的選擇,不需過多的配置更不需要后臺配合。
  • 預渲染不執行JavaScript,只試用于純靜態頁面,當然你也可以配置等接口請求返回拿到數據以后再預渲染,這種僅僅適用于少量接口請求。而SSR比預渲染的不同就是多了一步執行JavaScript。
安裝
npm i prerender-spa-plugin -D
webpack.prod.conf.js
const PrerenderSPAPlugin = require('prerender-spa-plugin')
const Renderer = PrerenderSPAPlugin.PuppeteerRenderer

const webpackConfig = merge(baseWebpackConfig, {
    plugins:[
        new PrerenderSPAPlugin({
            // 必需 - 要預渲染的 webpack 輸出應用程序的路徑。
            staticDir: path.join(__dirname, '../dist'),
            
            // 必需 - 要渲染的路由
            routes: ['/', '/about'],
          
            renderer: new Renderer({
                inject: {
                    foo: 'bar'
                },
                
                // 渲染時顯示瀏覽器窗口。用于調試。false意為打開,true是不打開
                headless: false,
                
                // 可選 - 等待渲染,直到在文檔上調度指定的事件。
                // 例如,使用 `document.dispatchEvent(new Event('event-home'))` 
                renderAfterDocumentEvent: 'event-home'
            })
        }),
    ]
})
main.js
new Vue({
    el: '#app',
    store,
    router,
    components: { App },
    template: '<App/>',
    mounted() {
        document.dispatchEvent(new Event('event-home'))
    }
})

npm run build以后我們會得到如下的文件,這個時候我們會發現,是多了一個about的文件夾。這是由于配置了new PrerenderSPAPlugin中的routes。

圖片圖片

圖片圖片

而且此時我們會發現,在打包好的index.html文件中,id為app的div標簽中有其他標簽內容。倘若我們不使用預渲染,打包出的文件里,這個標簽里是空的不會有任何標簽。

圖片圖片

圖片圖片

SSR(服務端渲染)

  • 分頁首屏加載
  • 各好的SEO
  • 搜索排名很重要的時候
  • 大型架構,動態頁面,且面對公眾用戶

具體使用可參考Vue的官方文檔

Service workers

Service workers可以很好的解決離線時候的首頁加載問題。但是鑒于文章長度限制,就在此處不細說了。

優化資源加載的順序

某乎有位大佬說的很詳細,鏈接在此[6]。

prefetch

主要加載較晚才會用到的資源,告知瀏覽器后,瀏覽器就會在閑時去加載對應的資源,很適合在懶加載時使用。

<link rel="prefetch" href="xxxxx.css">

對于使用prefetch獲取資源,其優先級默認為最低Lowest,可以認為當瀏覽器空閑的時候才會去獲取的資源。

圖片圖片

preload

主要用來加載當前頁面很重要的資源。

<link rel="preload" href="xxxxx.png" as="image">

瀏覽器通過as值能得知資源類型,還能根據as的值發送適當的Accept頭部信息。甚至可以通過as來標識他們請求資源的優先級(比如說使用as="style"屬性將獲得最高的優先級,即使資源不是樣式文件)

圖片圖片

兩者的異同

  • 如果關閉了瀏覽器,倘若請求還沒有結束,preload會立刻結束請求,但是prefetch會繼續請求。
  • 如果preload還未下載完就已經開始解析所需資源,此時并不會二次請求,而是等待此次請求完畢。
  • 倘若對同一個資源同時使用preload和prefetch則會導致二次加載。
  • preload是告訴瀏覽器頁面必定需要的資源,瀏覽器一定會加載這些資源,而prefetch是告訴瀏覽器頁面可能需要的資源,瀏覽器不一定會加載這些資源。

補充

關于Vue中的一些優化(并非首屏優化),我推薦黃軼老師的這篇文章《揭秘 Vue.js 九個性能優化技巧》[7]。

在我個人理解看來,性能優化的最終目的并不是完全追求時間上的長短,核心目的是給用戶更好的體驗,在提升了幀數的情況舍棄一點點加載或者渲染時間在整體體驗上要比完全追求數值上的長短有意義的多。也就是上面文章中這位朋友分享的觀點:

圖片圖片

責任編輯:武曉燕 來源: 量子前端
相關推薦

2020-12-09 09:30:57

前端開發技術

2013-08-21 11:15:54

iOS橫豎屏方案

2021-05-08 08:01:05

Session登錄瀏覽器

2022-02-10 08:57:45

分布式線程鎖

2023-05-06 15:32:04

2021-07-06 06:39:58

Kafka消息隊列系統

2009-07-13 10:36:18

2022-01-05 16:16:02

查詢編程工程師

2017-12-26 14:05:21

潤乾大屏可視化

2011-07-29 10:21:03

iPad 橫豎屏 切換

2011-10-25 11:40:54

打印機常見問題

2018-10-10 10:23:53

數據庫RedisNoSQL

2023-10-20 07:29:16

框架模型Prompt

2012-05-30 09:22:29

2023-11-06 08:00:38

接口高可用機制

2012-05-30 13:25:48

2022-03-04 00:08:00

數據數據安全安全

2024-12-20 13:00:00

C++編程C++17

2023-09-29 11:29:12

Spring異常處理類

2023-11-10 08:18:27

JavaGraalVM
點贊
收藏

51CTO技術棧公眾號

国产乱码精品一区二区三区忘忧草 | 国产白嫩美女无套久久| 日韩影视在线| 99久久精品国产一区二区三区| 欧美激情中文网| 国产草草浮力影院| 日韩免费va| 亚洲日本va在线观看| 成人毛片网站| 国产精品久久久久久久久久久久久久久久久 | 成人精品视频.| 欧美一级在线亚洲天堂| 肉色超薄丝袜脚交69xx图片| aiss精品大尺度系列| 午夜a成v人精品| 视频一区二区在线观看| 中文字幕在线观看免费| 欧美一区亚洲| 亚洲欧洲一区二区三区在线观看| 国产又大又黄又粗又爽| 色爱综合区网| 国产女主播视频一区二区| 亚洲综合第一页| 国产九色在线播放九色| 色琪琪久久se色| 亚洲精品一区二区三区香蕉| 成人中文字幕av| 18av在线视频| 欧美高清在线一区| 国产精品视频一区二区三区经| 亚洲欧美日韩激情| 欧美视频一区| 中文字幕av一区中文字幕天堂| 日本少妇一区二区三区| 高清电影一区| 亚洲成在线观看| 在线国产伦理一区| 可以免费看污视频的网站在线| 国产一区二区视频在线| 国产成人精品免费久久久久 | 国产亲近乱来精品视频| 丁香五月网久久综合| 中文字幕乱码无码人妻系列蜜桃| 亚洲久久成人| 欧美另类精品xxxx孕妇| 麻豆国产精品一区| 好吊妞国产欧美日韩免费观看网站| 欧美日韩国产综合一区二区三区| 国模吧无码一区二区三区| 91亚洲天堂| 中文字幕中文字幕一区| 日本在线观看一区| 三级毛片在线免费看| 国产999精品久久| 91在线精品视频| 国产在成人精品线拍偷自揄拍| 香蕉久久国产| 欧美在线视频一区二区| 亚洲国产综合久久| 欧美精品一级| 九九九久久久久久| 午夜精品一区二区三区视频| 日韩中文在线电影| 亚洲图中文字幕| 中文字幕第九页| 国产精品x8x8一区二区| 精品国产免费人成在线观看| 苍井空张开腿实干12次| 久久久加勒比| 欧美精品一二三四| 中文字幕色网站| 国产69精品久久久久9999人| 91成人免费在线视频| 精品免费国产一区二区| 亚洲成人短视频| 欧美色综合网站| jizzzz日本| 自拍偷拍亚洲| 欧美一区三区二区| 一区二区三区人妻| 97久久超碰| 亚洲精品电影网站| 三上悠亚ssⅰn939无码播放| 国产精品中文字幕亚洲欧美| 精品成人a区在线观看| 在线天堂www在线国语对白| 亚洲精品中文字幕99999| 精品视频一区在线视频| 日韩一级av毛片| 婷婷成人在线| 中文字幕亚洲二区| 午夜爱爱毛片xxxx视频免费看| 欧美激情1区2区3区| 韩国19禁主播vip福利视频| 国产综合精品视频| 免费在线视频一区| 亚洲自拍偷拍在线| 天堂中文网在线| 久久久久久电影| 一区二区精品视频| 大桥未久在线播放| 色综合久久88色综合天天免费| 无需播放器的av| 粉嫩精品导航导航| 夜夜嗨av色综合久久久综合网| 5566中文字幕| 国产日本精品| 91精品国产综合久久男男 | 成年人黄色大片在线| 91福利精品视频| 亚洲欧美一区二区三区不卡| 偷拍亚洲色图| 日韩最新在线视频| 精品一级少妇久久久久久久| 久久一区激情| 99电影在线观看| 国产69精品久久app免费版| 亚洲精品中文在线影院| 免费毛片小视频| 成人国产精品久久| 日韩av在线免费看| 精品无码久久久久成人漫画| 久久av最新网址| 97自拍视频| 日本成人在线播放| 欧美视频不卡中文| xxxx国产视频| 精品一二三区| 97在线看福利| 精品人妻一区二区三区蜜桃| 国产日韩精品视频一区| 亚洲人精品午夜射精日韩| 国产精一区二区| 亚洲欧美成人精品| 91精品国产高潮对白| 国产精品中文字幕欧美| 精品蜜桃一区二区三区| 91精品久久久久久粉嫩| 欧美色欧美亚洲另类二区| 中文字幕乱码在线| 欧美日韩久久| 亚洲一区二区三区乱码aⅴ| 第一页在线观看| 亚洲国产一区二区视频| 天堂网成人在线| 成人羞羞视频播放网站| 日韩av第一页| 艳母动漫在线看| 亚洲一级不卡视频| 黄色一级片免费播放| 成人久久综合| 69av成年福利视频| 男人天堂手机在线观看| 夜夜精品浪潮av一区二区三区| 亚洲va综合va国产va中文| 精品理论电影在线| 国产精品草莓在线免费观看| 欧美成熟毛茸茸| 精品日韩中文字幕| 午夜久久久久久久| 在线精品福利| 好吊妞www.84com只有这里才有精品| 在线免费av电影| 欧美日韩一区三区| 91av手机在线| 国内外成人在线视频| 日本一区不卡| 日韩中文在线播放| 日韩一区二区欧美| 国产精品毛片久久久久久久av| 国产精品国产成人国产三级| 奇米影视四色在线| 一区二区三区毛片免费| 国产裸体写真av一区二区 | 国产强伦人妻毛片| 亚洲欧美偷拍三级| 久草福利在线观看| 亚洲经典在线看| 蜜桃91精品入口| 天天免费亚洲黑人免费| 中文字幕精品视频| 国产女人高潮时对白| 亚洲另类春色国产| 国产麻豆剧传媒精品国产av| 亚洲在线观看| 亚洲蜜桃av| 久久久久九九精品影院| 欧美精品电影在线| 精品乱码一区二区三四区视频| 色欧美片视频在线观看在线视频| 91社区视频在线观看| 激情小说亚洲一区| 欧美视频在线免费播放| 加勒比久久综合| 成人午夜黄色影院| 黄色18在线观看| 亚洲精品综合久久中文字幕| 最近国语视频在线观看免费播放| 成人欧美一区二区三区1314| 亚洲一区二区三区四区av| 久久久久.com| 中文字幕乱码免费| 在线精品自拍| 国产成人精品久久| 黄网av在线| 国产一区二区三区18| av一区二区三| 欧美性videos高清精品| 国产精品无码无卡无需播放器| 国产精品亚洲人在线观看| 自慰无码一区二区三区| 日韩欧美综合| 久久国产精品高清| 亚州欧美在线| 欧美高清一级大片| av在线中文| 亚洲国产精品悠悠久久琪琪 | 国自产拍偷拍福利精品免费一| 精品视频导航| 色狠狠一区二区三区| 91精品91久久久久久| 中文字幕资源网在线观看| 亚洲精选一区二区| 懂色av成人一区二区三区| 在线视频综合导航| 国产一级做a爱免费视频| 亚洲国产精品ⅴa在线观看| 任你躁av一区二区三区| 久久99在线观看| 99在线免费视频观看| 99久久婷婷| 亚洲国产精品123| 美女久久久久| 国产视频精品网| 国产激情欧美| 国产精品久久久久久久久久| 日产福利视频在线观看| 久久99国产精品自在自在app | 亚洲综合久久av| 久草成人在线视频| 一级特黄大欧美久久久| 久久午夜无码鲁丝片| 亚洲国产精品麻豆| xxxx 国产| 欧美日韩国产精品一区| 日韩欧美一级视频| 欧美日韩亚洲91| 少妇太紧太爽又黄又硬又爽| 色综合咪咪久久| 波多野结衣视频在线观看| 欧美日韩一区二区三区高清| 中国一级片黄色一级片黄| 欧美性感一类影片在线播放| 中文字幕日韩三级| 91麻豆精品国产91久久久久久久久 | 91精品一区二区三区久久久久久| 97超视频在线观看| 欧美一级黄色录像| 日本国产在线观看| 日韩精品视频三区| 国产二区在线播放| 日韩一区视频在线| 在线观看a级片| 17婷婷久久www| 久久91导航| 成人信息集中地欧美| jazzjazz国产精品麻豆| 精品一区在线播放| 国产尤物久久久| 伊人情人网综合| 韩日欧美一区| www.日日操| 国产精品综合一区二区| 理论片大全免费理伦片| 久久久激情视频| 国产女人被狂躁到高潮小说| 亚欧色一区w666天堂| 天天射天天干天天| 7777精品伊人久久久大香线蕉超级流畅| 精品国产伦一区二区三区| 亚洲精品久久久久中文字幕二区 | 日韩av黄色在线| 亚洲欧美日韩不卡一区二区三区| 欧美成人嫩草网站| 国产成人精品无码播放| 国产精品一区二区免费不卡| 成年人在线观看av| 亚洲视频免费观看| 国产精品一区无码| 日韩欧美在线一区二区三区| 青青草在线免费观看| 欧美成人亚洲成人| 国产精品粉嫩| 国产精品区免费视频| 欧美熟乱15p| 亚洲 欧美 日韩 国产综合 在线 | 黄色免费在线网站| 奇门遁甲1982国语版免费观看高清| 91精品在线免费视频| 久久综合一区| 好看的日韩av电影| 中文字幕第17页| 国产色产综合色产在线视频| 久久精品国产亚洲av高清色欲| 欧美视频一二三区| 日韩偷拍自拍| 久久69精品久久久久久久电影好 | 国内精品**久久毛片app| 欧美成人milf| 日韩欧美xxxx| 92精品国产成人观看免费| 欧美日韩国产精品综合| 欧美日韩日日骚| 国产无套粉嫩白浆在线2022年| 久久久日本电影| 国产精品中文| 黄瓜视频免费观看在线观看www| 鲁大师成人一区二区三区 | 亚洲精品国产动漫| 99热亚洲精品| 国产精品一二三四| 免费看特级毛片| 欧美精品丝袜中出| www.成人.com| 国产精品96久久久久久| 亚洲欧美成人vr| av动漫在线看| 91在线国内视频| 日本少妇bbwbbw精品| 精品国产免费人成在线观看| 男插女视频久久久| 97夜夜澡人人双人人人喊| 欧美1区2区3区| 国产精品久久久久野外| 综合激情成人伊人| 国产精品视频一区二区三区,| 中文字幕亚洲无线码a| 亚洲mmav| 亚洲午夜精品久久久久久浪潮| 喷水一区二区三区| 中文字幕第69页| 69堂精品视频| 91三级在线| 粉嫩av一区二区三区免费观看 | 黄色一级大片在线免费看国产| 欧美肥婆姓交大片| 加勒比色老久久爱综合网| 免费看国产曰批40分钟| 26uuu成人网一区二区三区| 天天干天天干天天| 国产亚洲成精品久久| 国产第一亚洲| 性生活免费观看视频| 国产成人久久精品77777最新版本| 久久久久久福利| 精品香蕉一区二区三区| 日韩pacopacomama| 亚洲一卡二卡三卡四卡无卡网站在线看| 美女性感视频久久| 日韩黄色免费观看| 亚洲第一视频网| 日韩在线影院| 日韩video| 成人福利视频在线| 日韩国产亚洲欧美| 久久精品人人做人人爽| 丁香一区二区| av观看免费在线| 18涩涩午夜精品.www| www.色播.com| 欧美在线亚洲在线| 日韩国产欧美| 久久久精品人妻一区二区三区| 亚洲成av人片在线| 国产午夜视频在线观看| 亚洲在线观看视频网站| 亚洲免费精品| 国产精品18在线| 亚洲精品国产精品国自产观看浪潮| 日本精品网站| 国产一二三四五| 99视频超级精品| 中文字幕永久免费视频| 欧美高清自拍一区| 国产99久久久国产精品成人免费 | 国产中文欧美日韩在线| 老太脱裤子让老头玩xxxxx| 国产欧美一区二区三区在线看蜜臀| 国产男男gay体育生白袜| 欧美性资源免费| 亚洲精品成人影院| 午夜理伦三级做爰电影| 日韩亚洲欧美成人一区| 欧美日韩视频网站| 欧美狂野激情性xxxx在线观| 国产日本欧美一区二区| 日本黄视频在线观看| 91精品免费久久久久久久久| 香蕉国产精品偷在线观看不卡| 中文字幕av久久爽av|