黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術文章
文章詳情頁

前端從瀏覽器的渲染到性能優化

瀏覽:385日期:2022-06-02 16:30:12
目錄
  • 問題前瞻
  • 瀏覽器渲染
    • 1.瀏覽器渲染圖解
    • 2.css解析規則
    • 3.js加載和執行機制
    • 4.圖片的加載和渲染機制
  • 性能優化
    • css優化
    • 使用
    • 減少資源請求
    • 延遲加載圖像
  • 大促活動實踐
    • 2.1 懶加載與異步加載
    • 2.2.資源整合
    • 2.3預解析與預加載
  • 總結

    問題前瞻

    1. 為什么css需要放在頭部?

    2. js為什么要放在body后面?

    3. 圖片的加載和渲染會阻塞頁面DOM構建嗎?

    4. dom解析完才出現頁面嗎?

    5. 首屏時間根據什么來判定?

    瀏覽器渲染

    1.瀏覽器渲染圖解

    瀏覽器渲染頁面主要經歷了下面的步驟:

    1.處理 HTML 標記并構建 DOM 樹。

    2.處理 CSS 標記并構建 CSSOM 樹。

    3.將 DOM 與 CSSOM 合并成一個渲染樹。

    4.根據渲染樹來布局,以計算每個節點的幾何信息。

    5.將各個節點繪制到屏幕上。

    為構建渲染樹,瀏覽器大體上完成了下列工作:

    從 DOM 樹的根節點開始遍歷每個可見節點。某些節點不可見(例如腳本標記、元標記等),因為它們不會體現在渲染輸出中,所以會被忽略。某些節點通過 CSS 隱藏,因此在渲染樹中也會被忽略,例如,上例中的 span 節點---不會出現在渲染樹中,---因為有一個顯式規則在該節點上設置了“display: none”屬性。對于每個可見節點,為其找到適配的 CSSOM 規則并應用它們。發射可見節點,連同其內容和計算的樣式

    根據以上解析,DOM樹和CSSOM樹的構建對于頁面性能有非常大的影響,沒有DOM樹,頁面基本的標簽塊都沒有,沒有樣式,頁面也基本是空白的。所以具體css的解析規則是什么?js是怎么影響頁面渲染的?了解了這些,我們才能有的放矢,對頁面性能進行優化。

    2.css解析規則

    <div id="div1">        <div>    <div>        ...    </div>    <div>        <div>    ...        </div>        <div>    ...        </div>    </div>        </div>        <div>    <div>        <div>    ...        </div>    </div>        </div>    </div>

    #div1 .c .d {}    

    .f .c .d {}    

    .a .c .e {}    

    #div1 .f {}    

    .c .d{}

    從左向右的匹配規則

    從右向左的匹配規則

    如果css從左向右解析,意味著我們需要遍歷更多的節點。不管樣式規則寫得多細致,每一個dom結點仍然需要遍歷,因為整個style rules還會有其它公共樣式影響。如果從右向左解析,因為子元素只有一個父元素,所以能夠很快定位出當前dom符不符合樣式規則。

    3.js加載和執行機制

    首先明確一點,我們可以通過js去修改網頁的內容,樣式和交互等,這一意味著js會影響頁面的dom結構,如果js和dom構建并行執行,那么很容易會出現沖突,所以js在執行時必然會阻塞dom和cssom的構建過程,不論是外部js還是內聯腳本。

    js的位置是否影響dom解析?

    首先我們為什么提倡把js放在body標簽的后面去加載,因為從demo上看無論是放在head還是放在body后加載js,頁面domcontentload的時間都是一樣的:

    我們從圖中可以看出js的加載和執行是阻塞dom解析的,但是因為頁面并不是一次就渲染完成,所以我們需要做的是盡量讓用戶看到首屏的部分被渲染出來,js放在頭部,則頁面的內容區域還沒有解析到就被阻塞了,導致用戶看到的是白屏,而js放在body后面,盡管此時頁面dom仍然沒有解析完成,但是已經渲染出一部分樓層了,這也是為什么我們比較看重頁面的首屏時間。

    只有DOM和CSSOM樹構建好后并合并成渲染樹才能開始繪制頁面圖形,那是不是把整個DOM樹和CSSOM樹構建好后才能開始繪制頁面?這顯然是不符合我們平時訪問頁面的認知的,實際上:

    為達到更好的用戶體驗,呈現引擎會力求盡快將內容顯示在屏幕上。它不必等到整個 HTML 文檔解析完畢之后,就會開始構建呈現樹和設置布局。在不斷接收和處理來自網絡的其余內容的同時,呈現引擎會將部分內容解析并顯示出來。

    具體瀏覽器什么時候進行首次繪制?可以查看本文對瀏覽器首次渲染時間點的探究。

    4.圖片的加載和渲染機制

    首先我們解答一下上面的問題:圖片的加載與渲染會不會阻塞頁面渲染?答案是圖片的加載和渲染不會影響頁面的渲染。

    那么標簽中的圖片和樣式中的圖片的加載和渲染時間是什么樣的呢?

    解析HTML【遇到標簽加載圖片】 —> 構建DOM樹加載樣式 —> 解析樣式【遇到背景圖片鏈接不加載】 —> 構建樣式規則樹加載javascript —> 執行javascript代碼把DOM樹和樣式規則樹匹配構建渲染樹【遍歷DOM樹時加載對應樣式規則上的背景圖片】計算元素位置進行布局繪制【開始渲染圖片】

    當然把DOM樹和樣式規則樹匹配構建渲染樹時,只會把可見元素和它對應的樣式規則結合一起產出到渲染樹,這就意味有不可見元素,當匹配DOM樹和樣式規則樹時,若發現一個元素的對應的樣式規則上有display:none,瀏覽器會認為該元素是不可見的,因此不會把該元素產出到渲染樹上。

    性能優化

    css優化

    1.盡量減少層級

    #div p.class {        color: red;    }        .class {        color: red;    }

    層級減少,意味者匹配時遍歷的dom就少。
    關于less嵌套的書寫規范也基于這個道理。

    2.使用類選擇器而不是標簽選擇器

    減少匹配次數

    3.按需加載css

    (function(){        window.gConfig =  window.gConfig || {};        window.gConfig.isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);        var hClassName;        if(window.gConfig.isMobile){    hClassName = " phone";        document.write("<link rel="stylesheet"  rel="external nofollow"  />");    document.write("<link rel="preload"  rel="external nofollow"  crossorigin="anonymous" as="script" />");            }else{    hClassName = " pc";        document.write("<link rel="stylesheet"  rel="external nofollow"  />");    document.write("<link rel="preload"  rel="external nofollow"  crossorigin="anonymous" as="script" />");            }        var root = document.documentElement;        root.className += hClassName ;        })();

    async 與 defer

    [來自https://www.growingwiththeweb.com/2014/02/async-vs-defer-attributes.html]

    使用

    • 如果腳本是模塊化的并且不依賴于任何腳本,請使用async。
    • 如果該腳本依賴于另一個腳本或由另一個腳本所依賴,則使用defer。

    減少資源請求

    瀏覽器的并發數量有限,所以為了減少瀏覽器因為優先加載很多不必要資源,以及網絡請求和響應時間帶來的頁面渲染阻塞時間,我們首先應該想到的是減少頁面加載的資源,能夠盡量用壓縮合并,懶加載等方法減少頁面的資源請求。

    延遲加載圖像

    盡管圖片的加載和渲染不會影響頁面渲染,但是為了盡可能地優先展示首屏圖片和減少資源請求數量,我們需要對圖片做懶加載。

    document.addEventListener("DOMContentLoaded", function() {        let lazyImages = [].slice.call(document.querySelectorAll("img.lazy"));        let active = false;            const lazyLoad = function() {    if (active === false) {        active = true;            setTimeout(function() {    lazyImages.forEach(function(lazyImage) {        if ((lazyImage.getBoundingClientRect().top <= window.innerHeight && lazyImage.getBoundingClientRect().bottom >= 0) && getComputedStyle(lazyImage).display !== "none") {        lazyImage.src = lazyImage.dataset.src;        lazyImage.srcset = lazyImage.dataset.srcset;        lazyImage.classList.remove("lazy");            lazyImages = lazyImages.filter(function(image) {        return image !== lazyImage;        });            if (lazyImages.length === 0) {        document.removeEventListener("scroll", lazyLoad);        window.removeEventListener("resize", lazyLoad);        window.removeEventListener("orientationchange", lazyLoad);        }    }    });        active = false;        }, 200);    }        };            document.addEventListener("scroll", lazyLoad);        window.addEventListener("resize", lazyLoad);        window.addEventListener("orientationchange", lazyLoad);    });

    大促活動實踐

    2.1 懶加載與異步加載

    懶加載與異步加載是大促活動性能優化的主要手段,直白的說就是把用戶不需要或者不會立即看到的頁面數據與內容全都挪到頁面首屏渲染完成之后去加載,極限減小頁面首屏渲染的數據加載量與js,css執行帶來的性能損耗。

    2.1.1 導航下拉的異步加載

    導航的下拉內容是一塊結構非常復雜的html片段,如果直接加載,瀏覽器渲染的時間會拖慢頁面整體的加載時間:

    所有我們需要通過異步加載方式來獲取這段html片段,等頁面首屏渲染結束后再添加到頁面上,大致的代碼如下:

    $.ajax({        url: url, async: false, timeout: 10000,        success: function (data) {    container.innerHTML = data;    var appendHtml = $("<div>" + container.querySelector("#footer").innerHTML + "</div>");    var tempHtml = "<div>" + "<script type="text/html" id="header-lazyload-html-drop" data-holder="#holder-drop">" + appendHtml.find("#header-lazyload-html-drop").html() + "<\/script><script type="text/html" id="header-lazyload-html-mbnav" data-holder="#holder-mbnav">" + appendHtml.find("#header-lazyload-html-mbnav").html() + "<\/script></div>";    $("#footer").append(tempHtml);        feloader.onLoad(function () {        feloader.use("@cloud/common-resource/header", function () {        });        $("#footer").css("display", "block");    });        },        error: function (XMLHttpRequest, textStatus, errorThrown) {    console.log(XMLHttpRequest.status, XMLHttpRequest.readyState, textStatus);        },    });

    2.1.2 圖片懶加載

    官網的cui套件中已經有lazyload的插件支持圖片懶加載,使用方法頁非常簡單:

    官網的cui套件中已經有lazyload的插件支持圖片懶加載,使用方法頁非常簡單:<divclass="list"><imgclass="lazyload"data-src="http://www.placehold.it/375x200/eee/444/1"src="占位圖片URL"/><imgclass="lazyload"data-src="http://www.placehold.it/375x200/eee/444/2"src="占位圖片URL"/><imgclass="lazyload"data-src="http://www.placehold.it/375x200/eee/444/3"src="占位圖片URL"/><divclass="lazyload"data-src="http://www.placehold.it/375x200/eee/444/3"></div>    ...</div>

    從代碼我們差不多可以猜出圖片懶加載的原理,其實就是我們通過覆蓋img標簽src屬性,使得img標簽開始加載時由于沒有src的具體圖片地址而不去加載圖片,等到重要資源加載完之后,通過監聽onload的時間或者滾動條的滾動時機再去重寫對應標簽的src值來達到圖片懶加載:

    /**    * load image    * @param {HTMLElement} el - the image element    * @private    */        _load(el) {    let source = el.getAttribute(ATTR_IMAGE_URL);    if (source) {        let processor = this._config.processor;        if (processor) {        source = processor(source, el);        }            el.addEventListener("load", () => {        el.classList.remove(CLASSNAME);    });    // 判斷是否是什么元素        if (el.tagName === "IMG") {    el.src = source;        } else {    // 判斷source是不是一個類名,如果是類名的話,則加到class里面去    if (/^[A-Za-z0-9_-]+$/.test(source)) {        el.classList.add(source);     } else {        let styles = el.getAttribute("style") || "";        styles += `;background-image: url(${source});`;        el.setAttribute("style", styles);        el.style.backgroundImage = source; // = `background-image: url(${source});`;    }        }            el.removeAttribute(ATTR_IMAGE_URL);    }        }

    具體的插件代碼大家可以查看https://git.huawei.com/cnpm/lazyload。

    同時官網的頁腳部分也采用了采用其它的加載方式也實現了懶加載的效果,頁腳的圖片都在css中引用,想要延遲加載頁腳圖片就需要延遲加載頁腳的css,但是延遲加載css造成的后果就是頁面加載的一瞬間頁腳會因為樣式確實而顯示錯亂,所以我們可以在css樣式加載前強勢隱藏掉頁腳部分,等css加載完成后,頁腳dom自帶的display:block會自動顯示頁腳。(==因為頁腳的seo特性沒有對其進行懶加載==)

    2.1.3 樓層內容的懶加載

    基于xtpl自帶的懶加載能力,配合pep定制頁面模板的邏輯,我們可以實現html的懶加載。在頁面初次渲染的時候,只有每個樓層的大體框架和標題等關鍵信息,如果需要的話可以給默認圖片等占位,或設置最小高度占位,防止錨點定位失效。
    當頁面滾動到該樓層的位置,js代碼方會執行,在初始化函數中,對該樓層的html進行加載,渲染,實現樓層圖片和html的懶加載,減少了首屏時間。
    具體代碼如下:

    <div>    </div>
    public render(){        this.$el.find(".j-content").html(new Xtemplate(tpl).render(mockData))        ...    }

    2.1.4 套餐數據懶加載

    套餐數據的加載一直以來都是令人頭疼的,本次雙十一對于套餐腳本也做了優化,不僅對數據進行了緩存,同時也可以在指定的范圍進行套餐數據的渲染——和上述所說的樓層懶加載配合,可以做到未展示的樓層,套餐數據不請求,下拉框不渲染,詢價接口不調用,在首屏不出現大量套餐的情況下,可以大大提升首屏加載的性能。

    2.2.資源整合

    2.2.1.頁頭頁尾資源統一維護

    基礎模板的優化涉及到資源的合并,壓縮與異步加載,dom的延遲加載和圖片的懶加載。首先我們給出官網基礎模板引用的一部分js資源的表格:

    這部分js存在問題是分散在pep的各個資產庫路徑維護,有些壓縮了,有些沒有壓縮,js的加載也基本是順序執行,所以我們對這個部分的js和css資源進行了一個整合,進行的操作是遷移,合并,壓縮。

    建立common-resource倉庫去統一維護管理頁頭頁腳及公共資源代碼。

    2.2.2.合并加載方式相同的基礎功能js并壓縮

    common.js

    import "./common/js/AGrid";    import "./common/js/jquery.base64";    import "./common/js/lang-tips";    import "./common/js/setLocaleCookie";    import "./common/js/pepDialog";

    如上面代碼,將官網中用的分散的基礎功能js合并成一個common.js,經過伏羲流水線發布,cui套件會自動將js壓縮,這樣做的效果當然是減少官網頁面請求資源數,減小資源大小。

    2.2.3.資源異步加載

    觀察2.2.1中的表格可以發現,官網大部分js都是放在頭部或者是body后順序加載的,這些資源的加載時間必定是在DOMOnLoad之前

    這些js都是會阻塞頁面的渲染,導致頁面首屏加載變慢,我們需要做的就是通過之前頭尾資源的整理得出哪些資源是可以在onload之后去加載的,這些我們就可以把頁面加載時不需要執行的js和css全部移到頁面渲染完成后去加載,少了這部分的js邏輯執行時的阻塞,頁面首屏渲染的時間也會大大降低。

    通過cui套件中的feloader插件,我們可以比較便捷的控制js和css加載的時機:

    feloader.onLoad(function () {      feloader.use([        "@cloud/link-to/index",        "@cloud/common-resource/uba",        "@cloud/common-resource/footer",        "@cloud/common-resource/header",        "@cloud/common-resource/common",        "@cloud/common-resource/prompt.css",        "@cloud/common-resource/footer.css",      ]);    });

    下圖可以明顯看到js的加載都轉移到onload之后了:

    2.2.4 圖片壓縮

    除了對設計給出的圖片有壓縮要求外,我們還通過對一部分不常更新的小圖標圖片進行base64編碼來減少頁面的圖片請求數量。

    2.3預解析與預加載

    除了延遲加載外,基礎模板還進行了諸如dns預解析,資源預加載的手段來提前解析dns和加載頁面資源。

    2.3.1 DNS 預解析

    當用戶訪問過官網頁面后,DNS預解析能夠使用戶在訪問雙十一活動頁之前提前進行DNS解析,從而減少雙十一活動頁面的dns解析時間,提高頁面的訪問性能,其實寫法也很簡單:

    <link rel="dns-prefetch"  rel="external nofollow" ><link rel="dns-prefetch"  rel="external nofollow" ><link rel="dns-prefetch"  rel="external nofollow" ><link rel="dns-prefetch"  rel="external nofollow" >

    2.3.2 preload 預加載

    活動頁的部分js還使用了preload預加載的方式來提升頁面加載性能,preload的為什么可以達到這種效果,我們需要看下面這段摘錄:

    Preloader 簡介

    HTML 解析器在創建 DOM 時如果碰上同步腳本(synchronous script),解析器會停止創建 DOM,轉而去執行腳本。所以,如果資源的獲取只發生在解析器創建 DOM時,同步腳本的介入將使網絡處于空置狀態,尤其是對外部腳本資源來說,當然,頁面內的腳本有時也會導致延遲。
    預加載器(Preloader)的出現就是為了優化這個過程,預加載器通過分析瀏覽器對 HTML 文檔的早期解析結果(這一階段叫做“令牌化(tokenization)”),找到可能包含資源的標簽(tag),并將這些資源的 URL 收集起來。令牌化階段的輸出將會送到真正的 HTML 解析器手中,而收集起來的資源 URLs 會和資源類型一起被送到讀取器(fetcher)手中,讀取器會根據這些資源對頁面加載速度的影響進行有次序地加載。

    基于以上原理,我們對官網相對重要的js資源進行preload預加載,以使得瀏覽器可以盡快地加載頁面所需的重要資源。

    <link rel="preload"  rel="external nofollow"  as="script"/><link rel="preload"  rel="external nofollow"  as="script"/><link rel="preload"  rel="external nofollow"  as="script"/><link rel="preload"  rel="external nofollow"  as="script"/><link rel="preload"  rel="external nofollow"  as="image" media="(max-width: 767px)">

    優化效果

    總結

    前端性能優化的方法手段并不僅限于文章陳述,官網前端團隊還會在前端性能優化的道路上學習更多,探索更多,將華為云官網頁面的加載性能做到極致!

    以上就是前端從瀏覽器的渲染到性能優化的詳細內容,更多關于性能優化的資料請關注其它相關文章!

    標簽: CSS HTML
    相關文章:
    主站蜘蛛池模板: 韩国一区二区三区美女美女秀 | 久久久久久久极品内射 | 亚洲美女影院 | 18禁真人抽搐一进一出在线 | 国产一区二区三区无码免费 | 欧美在线视频网 | 一黄色大片 | 国产又粗又硬又猛的免费视频 | 成人在线免费观看网址 | 男人的天堂视频在线观看 | 日本在线有码 | 曰本不卡视频 | 99九九99九九九视频精品 | 强开小婷嫩苞又嫩又紧视频 | 成人免费毛片aaaaaa片 | 91精品国产闺蜜国产在线闺蜜 | 男生美女隐私黄www 男生女生羞羞网站 | 男女性色大片免费网站 | 日韩免费中文字幕 | 欧美疯狂做受xxxx高潮 | 国产婷婷成人久久av免费高清 | 国产69精品久久777的优势 | 免费a视频在线观看 | 性一交一黄一片 | 中文av一区 | 日本欧美久久久 | 在线播放免费av | 五月天激情在线 | 欧美极品少妇xxx | 人人爽人人做 | 亚洲欧美18岁网站 | 性欧美精品动漫片 | 一级片麻豆 | 日本欧美在线视频 | 男女啪啪做爰高潮免费看 | 91精品福利少妇午夜100集 | 福利一区视频 | 欧美日韩精品久久久免费观看 | 欧美又大又硬又粗bbbbb影院 | 国产精品爱久久久久久久电影蜜臀 | 一区二区久久久久 | 免费视频99 | 中韩乱幕日产无线码一区 | 亚洲国产精品无码久久久 | 欧美拍拍视频 | 精品国产自在精品国产浪潮 | 国产对白在线 | 全黄久久久久a级全毛片 | 亚洲成人激情av | 国产精品乱子伦 | 韩国毛片一区二区三区 | 免费黄色一级视频 | 亚洲天堂中文字幕 | 人人爽人人爽人人片 | 久久阁| 黄色影片在线看 | 成人免费大片黄在线播放 | 久久国产网 | 欧美性区| 在线观看精品视频网站 | 国产曰又深又爽免费视频 | 国产福利av | 精品国产乱码久久久久久影片 | 欧美成人精品一区二区三区 | 一级黄视频 | 中文字幕在线免费看线人 | 国产成人精品a视频一区 | 黑人粗大猛烈进出高潮视频 | 欧美日韩精品一区二区 | 婷婷成人综合激情在线视频播放 | 怡红院成永久免费人全部视频 | 国产高清精品在线 | 欧美男人又粗又长又大 | аⅴ天堂中文在线网 | 插吧插吧综合网 | 久久综合给合久久狠狠狠97色 | 美女自卫慰免费视频www免费 | 日韩久久免费视频 | 一道本久在线中文字幕 | www91插插插| 无码福利日韩神码福利片 | 文中字幕一区二区三区视频播放 | 日本强好片久久久久久aaa | 91精品国产福利在线观看的优点 | 国产一区二区三区乱码 | 亚洲天堂资源在线 | 极品尤物被啪到呻吟喷水 | 99精品国产在热久久婷婷 | 成人在线你懂的 | 狠狠色老熟妇老熟女 | 成人国内精品久久久久影院成人国产9 | 麻豆视频在线观看免费网站 | 操久久久 | 色秀av| 欧洲性生活视频 | 日躁夜躁狠狠躁2001 | 久久激情在线 | 国产一区二区三区免费视频 | 久久久久久久国产精品美女 | 91av在线免费视频 | 亚洲专区路线二 | 制服丝袜快播 | 久久资源av | 国产精品内射视频免费 | 成年人视频网 | 国产精品久久久久久久久久尿 | 男女视频久久 | 女性向h片在线观看 | 狠狠躁夜夜躁人人爽蜜桃 | 亚洲一线av | 日本熟妇色xxxxx日本免费看 | 一级爱免费视频 | 农村末发育av片一区二区 | 国产夫妻性爱视频 | 日韩中文一区二区三区 | 黄色激情网址 | 午夜毛片在线观看 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 欧美xxxxxxxxx | 免费看h网站 | 国产ts在线| 日本丶国产丶欧美色综合 | 中文字幕亚洲一区 | 国产强伦姧在线观看无码 | 啪啪拍网站 | 久久国产精品视频一区 | 男人午夜免费视频 | 2020久久超碰国产精品最新 | 日本人六九视频 | 国产精品国产三级国产播12软件 | 少妇大尺度裸体做爰原声 | a男人的天堂久久a毛片 | 国产亚洲精品久久777777 | 无套内谢88av免费看 | 亚洲综合伊人 | 3344永久在线观看视频免费 | 丁香花小说手机在线观看免费 | 国产乱xxxxx97国语对白 | 亚洲精品久久久久久婷婷 | 国产乱码精品一区二三区蜜臂 | 国产精品久久毛片av大全日韩 | 国产吞精囗交高潮 | 五月天亚洲视频 | 国产精品乱码一区二区三区 | 国产精品国产三级国产专区53 | 亚洲黄色片 | 国产偷伦在线 | www亚洲高清 | 99re热视频这里只精品 | 国产精品一二三区在线观看 | 国产精品av久久久久久麻豆网 | 亚洲a视频 | 有码在线| 51国偷自产一区二区三区的 | 国产亚洲精品久久久久久打不开 | 欧美日b视频 | 秋霞国产 | 色噜噜狠狠一区二区三区 | 老司机亚洲精品影院无码 | 人妻少妇av中文字幕乱码 | 国产真人无遮挡作爱免费视频 | 波多野结衣精品一区二区三区 | 黄频在线看 | 欧美激情15p| 国内精品视频一区 | 亚洲97| √资源天堂中文在线视频 | 欧美高清黄| jizz在亚洲| 国产激情一区二区三区成人免费 | 亚洲精品天天 | 神马午夜嘿嘿 | 99国产精品欧美久久久久的广告 | dy888亚洲精品一区二区三区 | 五月天国产精品 | 香蕉国产999 | 少妇的性生话免费视频 | 福利视频第一页 | 狠狠色丁香久久婷婷综合五月 | 国产小视频在线看 | 青草伊人网 | 国产一区二区色 | 熟女毛片 | 亚洲精品一二 | 一本色道88久久加勒比精品 | 丰满少妇高潮惨叫久久久 | 国产精品无套内射迪丽热巴 | 亚洲精品乱 | 欧美理论在线 | 中国浓毛少妇毛茸茸 | 成人在线精品视频 | 久久青青草原国产毛片 | 欧美国产高潮xxxx1819 | 亚洲大尺度专区 | 国模冰莲自慰肥美胞极品人体图 | 婷婷伊人综合亚洲综合网 | 热の综合热の国产热の潮在线 | 女人性做爰100部免费 | 一本色道无码道dvd在线观看 | 久久9国产偷伦 | 欧美亚洲在线 | 国产精品入口网站7777 | 亚洲综合色丁香婷婷六月图片 | 国产成人一区二区三区小说 | 精品人妻午夜一区二区三区四区 | 国产主播福利 | 久久亚洲国产精品日日av夜夜 | 国产精品a国产精品a手机版 | 日韩少妇中文字幕 | 四虎黄色 | juliaannxxxxx高清 juliaann风流的主妇hd | 欧美亚洲国产一区二区三区 | 成人在线视频免费播放 | 国产精品不卡视频 | 日韩av福利 | 玖玖国产精品视频 | 精品久久久久久久久久中文字幕 | 伊人久久中文 | 成人免费无码av | 亚洲少妇毛片 | 国产乱视频在线观看 | 乌克兰极品少妇xxxx做受小说 | 色综合久久88| 国产深夜男女无套内射 | 网址你懂的在线 | 少妇伦子伦情品无吗 | 奇米影视第四色首页 | 欧美激情h| 日韩人妻无码精品久久 | 国产免费播放 | 色婷婷久久综合中文久久蜜桃av | 99福利视频导航 | 亚洲欧美少妇 | 爱爱视频免费网址 | 国产精品香蕉 | 欧美在线中文 | 亚洲午夜精品毛片成人播放器 | 中文字幕精品无码一区二区三区 | 在线观看免费的av | 干日韩美女 | 国语做受对白xxxxx在线流氓 | 日日摸夜夜添夜夜添毛片av | 小猪佩奇第七季中文免费版 | 99精品视频在线观看免费 | 最近的中文字幕在线看视频 | 亚洲成熟少妇 | 国产日本欧美在线观看 | 99精产国品一二三产品香蕉 | 成人在线免费看视频 | 后进极品白嫩翘臀在线视频 | 色播久久人人爽人人爽人人片av | 欧美人妻精品一区二区三区 | 男女偷爱性视频刺激 | 黄网站色视频 | 欧美xxx性| 国产一区黄色 | 久久国产精品99久久人人澡 | 色又黄又爽18禁免费视频 | 国产又爽又黄无码无遮挡在线观看 | 哪里可以看毛片 | 天堂视频网站 | 一级aaa级毛片午夜在线播放 | 国产精品自在线 | 男女啪啪进出阳道猛进 | 欧美精品久久96人妻无码 | 国产成人免费看一级大黄 | 亚洲最大激情网 | 国产精品自在自线视频 | 一级做a爰片性色毛片99高清 | 亚洲色欲一区二区三区在线观看 | 国产盗摄夫妻原创视频在线观看 | 嫩草视频国产 | 在线亚洲精品 | 国产一级精品视频 | 男人的天堂色偷偷 | 狠狠ri| 免费在线观看a级片 | 伊人七七| 强行挺进熟睡少妇av | 麻豆亚洲一区 | 色狠狠av老熟女 | 两个人做羞羞的视频 | 国产精品一区二区久久国产 | 日韩三级久久 | 久久短视频| 色吊丝中文字幕 | 精品白嫩初高中害羞小美女 | 97操操| 狠狠色婷婷久久一区二区 | 国产真实乱子伦精品视频 | 色屋在线 | 亚洲v欧美v| av中文字幕网址 | 色视频在线观看视频 | 欧美成人一区二区三区在线视频 | 日韩乱码人妻无码中文字幕 | 亚洲视频精品在线观看 | 亚洲一线二线三线写真 | 亚洲午夜国产一区99re久久 | 欧美交性又色又爽又黄 | 黄色天堂av | 欧美 唯美 清纯 偷拍 | 久久伊人成人 | 全国最大成人免费视频 | 天干天干天啪啪夜爽爽99 | 日韩不卡一二三区 | 久久免费看少妇高潮a | 日韩欧美在线免费观看 | 操一操| а√最新版在线天堂8 | 秋霞影院一区二区 | 国产精品日本一区二区不卡视频 | 国产又粗又爽又黄 | 免费观看成人www动漫视频 | 日韩欧美亚 | 精品国产乱码久久久久夜深人妻 | 曰韩人妻无码一区二区三区综合部 | 成人黄色在线观看 | 人人妻人人澡人人爽人人精品 | av一本久道久久综合久久鬼色 | 久久综合亚洲色一区二区三区 | 色婷婷香蕉在线一区二区 | 国产欧美精品在线 | 亚洲2017天堂色无码 | 国产精品7777777 | 日韩亚射吧 | 91网站免费 | 国产精品国色综合久久 | 性开放的欧美大片 | 日本少妇又色又爽又高潮看你 | 狼人伊人久久 | 国产免费又硬又黄又爽的视频喷水 | 丝袜一区在线观看 | 成人字幕网zmw | 看免费毛片 | 十八禁真人啪啪免费网站 | 久久精品99久久香蕉国产色戒 | 国产av一区二区三区天堂综合网 | 国产精品久久久一区二区三区 | 一二三区乱码2021 | 日韩精品国产精品 | 强制中出し~大桥未久10在线播放 | 九九热国产 | 中文字幕在线观看一区二区三区 | 精品国产91洋老外米糕 | 午夜精品一区二区三区免费视频 | 美女啪网站| 成人免费看吃奶视频网站 | 我们的2018在线观看免费高清 | 久久怡红院| 免费全部高h视频无码 | 丁香婷婷综合激情 | 在线区| 黄色小视频入口 | 日韩一二区 | 偷拍亚洲另类 | 久久精品日产第一区二区三区乱码 | 国产精品久久久久久久久久妞妞 | 欧洲大片免费 | 色噜噜狠狠一区二区三区 | 亚洲欧美日韩成人一区 | 国产一级特黄毛片在线毛片 | 欧美日韩在线观看一区 | 天天人人综合 | 澳门永久av免费网站 | 偷窥第一页| 久久婷婷国产91天堂综合精品 | 少妇饥渴难耐 | 欧美一区不卡 | 中字幕视频在线永久在线观看免费 | 91丝袜呻吟高潮美腿白嫩在线观看 | 深夜福利视频网站 | 亚洲欧美国产高清va在线播放 | 人妻丰满熟妇aⅴ无码 | 欧美人与动牲交a欧美精品 98久9在线 | 免费 | 成年人黄色一级片 | 亚洲产国偷v产偷自拍网址 亚洲超丰满肉感bbw | 黑白配高清在线观看免费版中文 | 无码专区人妻系列日韩精品少妇 | 99国产精品永久免费视频 | 日日免费视频 | 我和岳疯狂性做爰全过程视频 | 成年人黄色大全 | 久久免费看少妇高潮v片特黄 | 男女羞羞视频网站18 | 国产在线观看免费 | 久久不见久久见免费视频7 18禁黄久久久aaa片广濑美月 | 风韵少妇spa私密视频 | 六月丁香久久 | 成熟少妇一区二区三区 | 激情五月婷婷综合 | 婷婷色中文网 | 亚洲成av人片天堂网无码】 | 色中文在线 | 天天操天天爽天天干 | a级大胆欧美人体大胆666 | 成年人午夜视频 | 4438成人网| 国产成人精品视频在线 | 国产精品99久久久久久人 | 无码人妻丰满熟妇区五十路 | 成熟女人毛片www免费版在线 | 天天躁狠狠躁狠狠躁夜夜躁68 | 亚洲人成网站在线播放2019 | 欧美日韩午夜 | 亚洲亚洲人成综合网络 | 无码精品人妻一区二区三区湄公河 | 久久综合色综合 | 18女人毛片| 奇米狠狠操 | 夜夜操影视| 岛国精品资源网站 | 成人免费xxxxx在线观看 | 日日夜操| 国产乱淫av麻豆国产 | 国产伦理五月av一区二区 | 亚洲黄色在线观看视频 | 自拍在线视频 | 色视频久久| 成年人在线免费观看网站 | 99国产精品久久久久久久日本竹 | 午夜第一页 | 亚洲国产精品无码专区影院 | 狠狠操亚洲 | 欧美日韩精品一区二区三区不卡 | 久章操| 国产女人18水真多18精品一级做 | 国产一区二区中文字幕 | 天堂视频一区 | 丁香花小说手机在线观看免费 | 婷婷天堂网 | 97狠狠干 | 国产精品久久久久乳精品爆 | 欧美日韩三级视频 | 久久激情免费视频 | 国产白嫩护士被弄高潮 | 无码人妻精品一区二区在线视频 | 国产成人精品免费视频 | 久久久久久久女国产乱让韩 | 亚洲字幕av一区二区三区四区 | 全部免费毛片在线播放一个 | 日韩美女乱淫免费看视频大黄 | 午夜爽爽爽 | 曰韩人妻无码一区二区三区综合部 | 中文字幕精品无码一区二区 | 欧美日韩69| 国产偷国产偷亚洲清高app | 国产人免费人成免费视频 | 精品国产视频 | 亚洲综合无码明星蕉在线视频 | 欧美成人黄色网 | 中文字幕日韩欧美一区二区三区 | 国产麻豆xxxvideo实拍 | 明星毛片 | 狠狠精品干练久久久无码中文字幕 | 午夜视频免费观看 | 国产免费片 | 久久免费看a级毛毛片 | 性做久久久久久免费观看欧美 | 大尺度分娩网站在线观看 | 美国色综合 | 中国黄色小视频 | 免费黄色片视频 | 另类天堂av | 国产成人亚洲精品 | 风韵少妇性饥渴推油按摩视频 | 一区二区三区国产在线观看 | 女人张开腿涩涩网站 | 国产色视频在线观看免费 | 国产强伦姧在线观看无码 | 国产免费女女脚奴视频网 | 瑜伽美女健身视频集锦 | 国产免费观看久久黄av片 | 国产精品成人一区二区三区 | 久久丫丫 | 精品字幕 | 韩国少妇bbb毛毛片 韩国少妇xxxx搡xxxx搡 | av中文字幕在线看 | 秋霞免费av | 四季av一区二区凹凸精品 | 人妻插b视频一区二区三区 亚洲毛片av日韩av无码 | 亚洲精品456在线播放牛牛影院 | 小早川怜子一区二区三区 | 久久久久国产精品嫩草影院 | 亚洲天堂精品久久 | 五月婷婷丁香花 | 国产精品片| 国产精品极品白嫩在线 | 欧美亚州国产 | 青青草视频免费播放 | 四季av中文字幕一区 | 女人18毛片一区二区三区 | 在线成人免费观看 | 东京久久久 | 全免费又大粗又黄又爽少妇片 | 九一精品国产 | 无套中出极品少妇白浆 | 51综合区亚洲线观看 | 在线免费观看国产视频 | 久久99热这里只频精品6 | 中文字日产幕码三区的做法大全 | 精品久久8x国产免费观看 | 中国美女一级黄色片 | 成人一区二区三区四区 | 9l视频自拍九色9l视频九色 | 男女视频一区二区三区 | 欧美激情精品 | 久久视频精品 | 伊人综合影院 | 色综合久久久久久久久五月 | 开心色99| 777爽死你无码免费看一二区 | 少妇毛片| 欧美精品在线观看 | 国产嫩草在线观看视频 | 精品久久www | av手机网站 | 亚洲人网站 | 午夜yyy黄a一区二区三区 | 人妻丰满av无码久久不卡 | 中文字幕无码一区二区免费 | 精品国产乱码久久久久久口爆网站 | 深夜老司机福利 | 中文字幕亚洲在线 | 亚洲精品久久久久久无码色欲四季 | 一区二区三区中文字幕 | 免费色片 | 中文字幕无码免费久久9一区9 | 中文无码人妻有码人妻中文字幕 | 国产女人高潮视频在线观看 | 国产午夜精品久久精品电影 | 亚洲精品久久久久久久蜜桃 | 中文字幕亚洲精品日韩 | 日韩一二三区在线观看 | 国产精品-色哟哟 | 成年人视频免费在线观看 | 国产精品成人一区二区网站软件 | 欧美经典片免费观看大全 | 国产精品羞羞答答xxdd | 私人成片免费观看 | 成人免费看片粪便 | 国产欧美精品日韩区二区麻豆天美 | 国内自拍偷区亚洲综合伊人 | 日本大香伊一区二区三区 | 男人的天堂成人 | 4438xx亚洲最大五色丁香 | 国产成人精品白浆久久69 | 欧美国产日韩综合 | 欧美日韩三区 | 免费无码毛片一区二三区 | 久久99精品久久久久久琪琪 | 成人xxx| 青青草手机在线 | 国产精品久久久久久久岛一牛影视 | 日本久久视频 | 久久精精品久久久久噜噜 | 久久久精品国产sm调教 | 免费成人在线视频网站 | 外国三级毛片 | 亚洲一区精品视频 | 欧美成人猛片aaaaaaa | 亚洲处破女av日韩精品 | 午夜福利理论片高清在线 | 好吊妞视频988gao在线播放 | 国产伦精品一区二区三区视频金莲 | 无码人妻精品一区二区三区9厂 | 天天艹天天 | 成 人免费va视频 | 亚洲午夜精品一区二区 | 国产做爰xxxⅹ高潮视频在线 | 国产日产久久久久久 | 日本视频免费高清一本18 | jizz高潮| 人妻丰满熟妇av无码区hd | 日本欧美色图 | 亚洲爆爽 | 亚州国产精品 | 精品国精品国产自在久国产应用 | 国产传媒视频在线 | av免费网站在线观看 | 天天干天天舔天天射 | 亚洲人交配视频 | 国产欧美精品一区二区三区四区 | 在线观看91精品国产入口 | 嘿嘿射在线观看 | 国产乱淫av | 无码中文字幕乱码一区 | 色爱综合另类图片av | 亚洲最大黄色 | 免费看a网站 | 超碰在线公开免费 | 真实乱视频国产免费观看 | 天天澡天天狠天干天 | 欧美激情啪啪 | 黑人巨大亚洲一区二区久 | 色偷偷一区二区三区 | 少妇高潮惨叫久久久久久 | 爱情岛亚洲论坛入口 | 日韩欧美一区二区三区在线 | 五月丁香综合缴情六月小说 | 日本人毛片 | 五月天久久婷婷 | 国产精品99久久久久宅男软件功能 | 国产精品偷窥熟女精品视频 | 亚洲欧美色中文字幕在线 | 我和公激情中文字幕 | 天天操天天摸天天干 | 超碰在线98 | 亚洲视频一二三四 | 人人妻人人狠人人爽天天综合网 | 在线成人www免费观看视频 | 激情五月婷婷综合网 | 手机av在线播放 | 成人性生交视频免费看 | 欧美极品少妇xxxxⅹ喷水 |