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

前端頁面卡頓?或是DOM操作惹的禍,需優化代碼

開發 前端 開發工具
文檔對象模型(DOM)是一個獨立 于特定語言的應用程序接口。在瀏覽器中,DOM接口是以JavaScript語言實現的,通過JavaScript來操作瀏覽器頁面中的元素,這使得 DOM成為了JavaScript中重要的組成部分。

文檔對象模型(DOM)是一個獨立 于特定語言的應用程序接口。在瀏覽器中,DOM接口是以JavaScript語言實現的,通過JavaScript來操作瀏覽器頁面中的元素,這使得 DOM成為了JavaScript中重要的組成部分。在富客戶端網頁應用中,界面上UI的更改都是通過DOM操作實現的,并不是通過傳統的刷新頁面實現 的。盡管DOM提供了豐富接口供外部調用,但DOM操作的代價很高,頁面前端代碼的性能瓶頸也大多集中在DOM操作上,所以前端性能優化的一個主要的關注 點就是DOM操作的優化。DOM操作優化的總原則是盡量減少DOM操作。

[[132313]]

在討論DOM操作的最佳性能實踐之前,先來看看DOM操作為什么會影響性能。在瀏覽器中,DOM的實現和ECMAScript的實現是分離的。比如 在IE中,ECMAScrit的實現在jscript.dll中,而DOM的實現在mshtml.dll中;在Chrome中使用WebKit中的 WebCore處理DOM和渲染,但ECMAScript是在V8引擎中實現的,其他瀏覽器的情況類似。所以通過JavaScript代碼調用DOM接 口,相當于兩個獨立模塊的交互。相比較在同一模塊中的調用,這種跨模塊的調用其性能損耗是很高的。但DOM操作對性能影響最大其實還是因為它導致了瀏覽器 的重繪(repaint)和重排(reflow)。

為了讓大家能更深刻地理解重繪和重排對性能的影響,這里需要簡單敘述一下瀏覽器的渲染原理(如果想詳細了解瀏覽器的工作原理,請參照文章《瀏覽器的工作原理:新式網絡瀏覽器幕后揭秘》 )。從下載文檔到渲染頁面的過程中,瀏覽器會通過解析HTML文檔來構建DOM樹,解析CSS產生CSS規則樹。JavaScript代碼在解析過程中, 可能會修改生成的DOM樹和CSS規則樹。之后根據DOM樹和CSS規則樹構建渲染樹,在這個過程中CSS會根據選擇器匹配HTML元素。渲染樹包括了每 個元素的大小、邊距等樣式屬性,渲染樹中不包含隱藏元素及head元素等不可見元素。最后瀏覽器根據元素的坐標和大小來計算每個元素的位置,并繪制這些元 素到頁面上。重繪指的是頁面的某些部分要重新繪制,比如顏色或背景色的修改,元素的位置和尺寸并沒用改變;重排則是元素的位置或尺寸發生了改變,瀏覽器需 要重新計算渲染樹,導致渲染樹的一部分或全部發生變化。渲染樹重新建立后,瀏覽器會重新繪制頁面上受影響的元素。重排的代價比重繪的代價高很多,重繪會影 響部分的元素,而重排則有可能影響全部的元素。如下的這些DOM操作會導致重繪或重排:

  • 增加、刪除和修改可見DOM元素

  • 頁面初始化的渲染

  • 移動DOM元素

  • 修改CSS樣式,改變DOM元素的尺寸

  • DOM元素內容改變,使得尺寸被撐大

  • 瀏覽器窗口尺寸改變

  • 瀏覽器窗口滾動

可以看出,這些操作都是DOM操作中比較常見的。現代瀏覽器會針對重排或重繪做性能優化,比如,把DOM操作積累一批后統一做一次重排或重繪。但在有些情況下,瀏覽器會立即重排或重繪。比如請求如下的DOM元素布局信息:offsetTop/Left/Width/HeightscrollTop/Left/Width/HeightclientTop/Left/Width/HeightgetComputedStyle()currentStyle。因為這些值都是動態計算的,所以瀏覽器需要盡快完成頁面的繪制,然后計算返回值,從而打亂了重排或重繪的優化。

DOM操作帶來的頁面重繪或重排是不可避免的,但可以遵循一些最佳實踐來降低由于重排或重繪帶來的影響。如下是一些具體的實踐方法:

1. 合并多次的DOM操作為單次的DOM操作

最常見頻繁進行DOM操作的是頻繁修改DOM元素的樣式,代碼類似如下:

element.style.borderColor = '#f00';
element.style.borderStyle = 'solid';
element.style.borderWidth = '1px';

這種編碼方式會因為頻繁更改DOM元素的樣式,觸發頁面多次的重排或重繪,上面介紹過,現代瀏覽器針對這種情況有性能的優化,它會合并DOM操作,但并不是所有的瀏覽器都存在這樣的優化。推薦的方式是把DOM操作盡量合并,如上的代碼可以優化為:

// 優化方案1
element.style.cssText += 'border: 1px solid #f00;';
// 優化方案2
element.className += 'empty';

示例的代碼有兩種優化的方案,都做到了把多次的樣式設置合并為一次設置。方案2比方案1稍微有一些性能上的損耗,因為它需要查詢CSS類。但方案2的維護性最好,這在上一章曾經討論過。很多時候,如果性能問題并不突出,選擇編碼方案時需要優先考慮的是代碼的維護性。

類似的操作還有通過innerHTML接口修改DOM元素的內容。不要直接通過此接口來拼接HTML代碼,而是以字符串方式拼接好代碼后,一次性賦值給DOM元素的innerHTML接口。

2. 把DOM元素離線或隱藏后修改

把DOM元素從頁面流中脫離或隱藏,這樣處理后,只會在DOM元素脫離和添加時,或者是隱藏和顯示時才會造成頁面的重繪或重排,對脫離了頁面布局流的DOM元素操作就不會導致頁面的性能問題。這種方式適合那些需要大批量修改DOM元素的情況。具體的方式主要有三種:

(1)使用文檔片段

文檔片段是一個輕量級的document對象,并不會和特定的頁面關聯。通過在文檔片段上進行DOM操作,可以降低DOM操作對頁面性能的影響,這 種方式是創建一個文檔片段,并在此片段上進行必要的DOM操作,操作完成后將它附加在頁面中。對頁面性能的影響只存在于最后把文檔片段附加到頁面的這一步 操作上。代碼類似如下:

var fragment = document.createDocumentFragment();
// 一些基于fragment的大量DOM操作
...
document.getElementById('myElement').appendChild(fragment);

(2)通過設置DOM元素的display樣式為none來隱藏元素

這種方式是通過隱藏頁面的DOM元素,達到在頁面中移除元素的效果,經過大量的DOM操作后恢復元素原來的display樣式。對于這類會引起頁面重繪或重排的操作,就只有隱藏和顯示DOM元素這兩個步驟了。代碼類似如下:

var myElement = document.getElementById('myElement');
myElement.style.display = 'none';
// 一些基于myElement的大量DOM操作
...
myElement.style.display = 'block';

(3)克隆DOM元素到內存中

這種方式是把頁面上的DOM元素克隆一份到內存中,然后再在內存中操作克隆的元素,操作完成后使用此克隆元素替換頁面中原來的DOM元素。這樣一來,影響性能的操作就只是最后替換元素的這一步操作了,在內存中操作克隆元素不會引起頁面上的性能損耗。代碼類似如下:

var old = document.getElementById('myElement');
var clone = old.cloneNode(true);
// 一些基于clone的大量DOM操作
...
old.parentNode.replaceChild(clone, old);

在現代的瀏覽器中,因為有了DOM操作的優化,所以應用如上的方式后可能并不能明顯感受到性能的改善。但是在仍然占有市場的一些舊瀏覽器中,應用以上這三種編碼方式則可以大幅提高頁面渲染性能。

3. 設置具有動畫效果的DOM元素的position屬性為fixed或absolute

把頁面中具有動畫效果的元素設置為絕對定位,使得元素脫離頁面布局流,從而避免了頁面頻繁的重排,只涉及動畫元素自身的重排了。這種做法可以提高動 畫效果的展示性能。如果把動畫元素設置為絕對定位并不符合設計的要求,則可以在動畫開始時將其設置為絕對定位,等動畫結束后恢復原始的定位設置。在很多的 網站中,頁面的頂部會有大幅的廣告展示,一般會動畫展開和折疊顯示。如果不做性能的優化,這個效果的性能損耗是很明顯的。使用這里提到的優化方案,則可以 提高性能。

4. 謹慎取得DOM元素的布局信息

前面討論過,獲取DOM的布局信息會有性能的損耗,所以如果存在重復調用,最佳的做法是盡量把這些值緩存在局部變量中。考慮如下的一個示例:

for (var i=0; i < len; i++) {
    myElements[i].style.top = targetElement.offsetTop + i*5 + 'px';
}

如上的代碼中,會在一個循環中反復取得一個元素的offsetTop值,事實上,在此代碼中該元素的offsetTop值并不會變更,所以會存在不必要的性能損耗。優化的方案是在循環外部取得元素的offsetTop值,相比較之前的方案,此方案只是調用了一遍元素的offsetTop值。更改后的代碼如下:

var targetTop = targetElement.offsetTop;
for (var i=0; i < len; i++) {
    myElements[i].style.top = targetTop+ i*5 + 'px';
}

另外,因為取得DOM元素的布局信息會強制瀏覽器刷新渲染樹,并且可能會導致頁面的重繪或重排,所以在有大批量DOM操作時,應避免獲取DOM元素 的布局信息,使得瀏覽器針對大批量DOM操作的優化不被破壞。如果需要這些布局信息,最好是在DOM操作之前就取得。考慮如下一個示例:

var newWidth = div1.offsetWidth + 10;
div1.style.width = newWidth + 'px';

var newHeight = myElement.offsetHeight + 10; // 強制頁面重排
myElement.style.height = newHeight + 'px'; // 又會重排一次

根據上面的介紹,代碼在遇到取得DOM元素的信息時會觸發頁面重新計算渲染樹,所以如上的代碼會導致頁面重排兩次,如果把取得DOM元素的布局信息提前,因為瀏覽器會優化連續的DOM操作,所以實際上只會有一次的頁面重排出現,優化后的代碼如下:

var newWidth = div1.offsetWidth + 10;
var newHeight = myElement.offsetHeight + 10;

div1.style.width = newWidth + 'px';
myElement.style.height = newHeight + 'px';

5. 使用事件托管方式綁定事件

在DOM元素上綁定事件會影響頁面的性能,一方面,綁定事件本身會占用處理時間,另一方面,瀏覽器保存事件綁定,所以綁定事件也會占用內存。頁面中 元素綁定的事件越多,占用的處理時間和內存就越大,性能也就相對越差,所以在頁面中綁定的事件越少越好。一個優雅的手段是使用事件托管方式,即利用事件冒 泡機制,只在父元素上綁定事件處理,用于處理所有子元素的事件,在事件處理函數中根據傳入的參數判斷事件源元素,針對不同的源元素做不同的處理。這樣就不 需要給每個子元素都綁定事件了,管理的事件綁定數量變少了,自然性能也就提高了。這種方式也有很大的靈活性,可以很方便地添加或刪除子元素,不需要考慮因 元素移除或改動而需要修改事件綁定。示例代碼如下:

// 獲取父節點,并添加一個click事件
document.getElementById('list').addEventListener("click",function(e) { // 檢查事件源元素 if(e.target && e.target.nodeName.toUpperCase == "LI") { // 針對子元素的處理 ...
    }
});

上述代碼中,只在父元素上綁定了click事件,當點擊子節點時,click事件會冒泡,父節點捕獲事件后通過e.target檢查事件源元素并做相應地處理。

在JavaScript中,事件綁定方式存在瀏覽器兼容問題,所以在很多框架中也提供了相似的接口方法用于事件托管。比如在jQuery中可以使用如下方式實現事件的托管(示例代碼來自jQuery官方網站):

$( "table" ).on( "click", "td", function() { $( this ).toggleClass( "chosen" );
});

 

責任編輯:王雪燕 來源: 博客園
相關推薦

2014-07-18 14:10:07

WIFI華為

2009-01-07 09:22:00

2021-09-30 22:37:01

手機內存技術

2009-09-17 08:30:57

Windows 7隱藏菜單欄

2013-07-22 09:43:29

2010-09-14 11:29:43

谷歌

2020-08-17 17:47:30

內存技術測試

2009-07-18 16:43:09

光纖鏈路故障接線端面臟污

2009-08-01 15:47:04

網線故障

2023-12-24 22:33:32

宕機Twitter馬斯克

2013-01-15 10:30:45

Windows 8Metro

2010-01-12 09:25:17

Windows 7死機系統特效

2012-12-12 09:57:12

Chrome負載均衡

2025-07-30 09:43:28

2014-11-03 16:00:55

美國寬帶

2009-04-27 13:46:30

網絡管理拷貝故障

2020-12-02 06:30:52

Nginx前綴FastDFS

2024-02-02 15:21:08

工具頁面性能

2023-09-18 07:21:18

裝機誤區主機

2024-08-02 16:25:10

點贊
收藏

51CTO技術棧公眾號

色综合欧美在线视频区| 久久一区二区三区四区五区| 欧美一级日韩免费不卡| 中文字幕在线中文| 姝姝窝人体www聚色窝| 亚洲国产精品一区| 国产亚洲精品一区二区| 亚洲午夜精品在线观看| 蜜桃av在线| 国产精品久久久久久户外露出| 91九色蝌蚪国产| 国产成人愉拍精品久久| 欧美丰满日韩| 国产婷婷色综合av蜜臀av| wwwwwxxxx日本| 三级在线观看视频| 亚洲天堂av一区| 久久精品夜色噜噜亚洲a∨| 欧美日韩国产色站一区二区三区| 国产在线视频在线| 国产高清一级毛片在线不卡| 国产aⅴ综合色| 国产精品永久在线| 国产成人在线免费视频| 欧美一区久久| 中文字幕日韩高清| 草草地址线路①屁屁影院成人| 高清不卡一区| 欧美最猛性xxxxx直播| 大陆av在线播放| 欧美日韩视频在线播放| 26uuu国产日韩综合| 成人自拍视频网站| a在线观看视频| 老司机免费视频一区二区 | 麻豆国产精品va在线观看不卡| 亚洲春色在线| 亚洲av成人精品一区二区三区在线播放 | 青青久久精品| 欧美性猛交99久久久久99按摩| 伊人久久在线观看| 成人免费看片| 中文字幕一区三区| 亚洲一区二区三区午夜| 国产视频精品久久| 久久久精品影视| 精品视频第一区| 刘亦菲毛片一区二区三区| 国产精品一区在线观看乱码| 成人h视频在线| 最近中文字幕在线观看视频| 国产美女一区视频| 色天天色综合| 精品国产制服丝袜高跟| 国产精品久久久久野外| 91精品网站在线观看| 欧美日本在线观看| 免费成年人高清视频| 欧美亚洲二区| 欧美丰满美乳xxx高潮www| 天堂网在线免费观看| 国产亚洲精品精品国产亚洲综合| 在线亚洲一区二区| 我看黄色一级片| 黄色精品视频网站| 7777精品伊人久久久大香线蕉最新版| 九九九九九国产| 老司机亚洲精品一区二区| 欧美一卡2卡三卡4卡5免费| www.久久com| 国产精品99久久免费观看| 日韩av一区二| 亚洲福中文字幕伊人影院| 制服诱惑一区| 成人片在线看| 亚洲国产精品欧美一二99| 成年人午夜视频在线观看| 华人av在线| 在线免费观看日本一区| 色一情一区二区三区| 国产一区二区三区亚洲综合| 精品国产电影一区二区| 黄色a一级视频| 日韩精品免费一区二区在线观看| 久久久精品在线| 国产午夜免费视频| 老鸭窝亚洲一区二区三区| 国产精品久久一| 国产免费黄色大片| 成人永久免费视频| 麻豆传媒一区二区| 欧美天天影院| 欧洲一区二区三区| 日本欧美久久久久免费播放网| 国产精品三级在线| 国产黄色片免费观看| 91免费观看国产| 亚洲精品中文字幕在线| 欧美人与禽性xxxxx杂性| 狠狠色香婷婷久久亚洲精品| 91网址在线播放| 香蕉免费一区二区三区在线观看| 亚洲欧美国产精品久久久久久久| 成人一级黄色大片| 国产视频一区三区| 91久久久久久久久久久久久| 国产精品国产高清国产| 91影院在线免费观看| 婷婷视频在线播放| 中文字幕这里只有精品| 日韩欧美一区二区免费| 91久久免费视频| 好吊日精品视频| 在线不卡亚洲| 久久精品国产2020观看福利| 日本天堂网在线观看| 九色|91porny| 免费久久99精品国产自| 日韩激情av| 欧美日韩国产123区| 国产交换配乱淫视频免费| 午夜欧美精品| 国产精品一区二区三区久久| 少妇人妻偷人精品一区二区 | 性生交大片免费全黄| 亚洲综合日本| 超碰97在线人人| 国产秀色在线www免费观看| 精品国产福利在线| 亚洲熟女一区二区三区| 午夜av一区| 国产精品视频yy9099| 欧美日韩国产综合视频| 黄色成人在线播放| 亚洲人成伊人成综合网久久久| 天天色天天干天天色| 精品免费在线| 青青草成人在线| 亚洲欧洲成人在线| 婷婷国产在线综合| 中文字幕一区二区人妻电影丶| 你懂的国产精品| 亚洲一区二区少妇| 国产精品刘玥久久一区| 欧美日韩国产小视频在线观看| 蜜桃传媒一区二区亚洲| 免费在线亚洲| 麻豆av一区二区三区| 中文在线资源| 亚洲精品资源在线| 天堂网中文字幕| 91在线码无精品| 女人天堂av手机在线| 另类在线视频| 欧美一级高清免费播放| 五月婷婷狠狠干| 岛国av一区二区三区| 91精品国产自产| 久久国产精品99国产| 欧美亚洲国产免费| 日韩一区精品| 久久精品精品电影网| 一级黄色大毛片| 亚洲三级在线观看| 动漫av在线免费观看| 永久看看免费大片| 欧美激情影院| 国产成人精品午夜| 92国产在线视频| 91精品国产综合久久婷婷香蕉| 国产黄在线免费观看| 国产激情一区二区三区四区| 青青在线视频免费观看| 精品嫩草影院| 国产mv久久久| 男人天堂久久久| 欧美刺激午夜性久久久久久久| 青青草成人免费| 99久久婷婷国产综合精品| 波多野结衣50连登视频| 成人久久电影| 91丝袜脚交足在线播放| 九色porny视频在线观看| 亚洲视频在线观看免费| 国产精品无码专区av免费播放| 一区二区三区欧美激情| 国产传媒第一页| 精品一二三四在线| 欧美成人激情在线| 性色av蜜臀av浪潮av老女人| 欧美一级专区| 成年人免费观看的视频| 日韩视频一区二区三区四区| 欧美性视频精品| 毛片在线视频| 亚洲精品黄网在线观看| 在线视频 中文字幕| 亚洲午夜免费电影| 黄色国产在线播放| av中文一区二区三区| 9久久婷婷国产综合精品性色| 欧美+日本+国产+在线a∨观看| 鲁鲁视频www一区二区| 亚洲欧美久久精品| 国产成+人+综合+亚洲欧洲| 免费大片在线观看www| 亚洲精品成人久久久| 亚洲在线免费观看视频| 精品日本美女福利在线观看| 亚洲熟女毛茸茸| 久久综合久久综合久久综合| 欧美体内she精高潮| 日韩精品亚洲专区| 国产精品亲子乱子伦xxxx裸| 天堂在线中文在线| 午夜亚洲影视| 欧美日韩激情四射| 999精品色在线播放| 欧美一区二区视频在线| 荡女精品导航| 亚洲中国色老太| 成人网ww555视频免费看| 国内精品久久久久久| 尤物视频在线看| 久久久国产精品一区| 国产三区四区在线观看| 亚洲精品有码在线| 色婷婷av一区二区三区之红樱桃 | 亚洲视频 欧洲视频| 国产毛片久久久久久久| 不卡av在线免费观看| 黄页网站在线看| 国产在线精品一区二区三区不卡| 欧美性猛交久久久乱大交小说| 亚洲久色影视| 97免费视频观看| 久久男人资源站| 亚洲女娇小黑人粗硬| 精品国产乱码久久久久软件 | 中文字幕免费在线看线人动作大片 | 日本欧美国产在线| 黄色视屏在线免费观看| 性视频1819p久久| 白浆在线视频| 亚洲2020天天堂在线观看| 成人影院在线视频| 国内精品久久久久| 九九色在线视频| 欧美激情a在线| 大香伊人久久| 久久久久久有精品国产| 九色91在线| 97视频com| 欧美gay视频| 国产精品黄页免费高清在线观看| 卡通欧美亚洲| 国产脚交av在线一区二区| 国产精品白嫩白嫩大学美女| 亚洲三级性片| 精品一区国产| 深夜福利久久| 亚洲看片网站| 91成人精品| 日韩成人手机在线| 亚洲精品社区| 妞干网在线免费视频| 日日夜夜一区二区| 亚洲怡红院在线| 国产高清久久久久| 亚洲一区二区三区四区av| 99久久精品国产毛片| 性高潮久久久久久久| 国产精品日产欧美久久久久| 一区二区国产精品精华液| 亚洲欧美激情小说另类| 日本在线观看视频网站| 色菇凉天天综合网| 国产精品久久久久久久久毛片| 日韩久久久精品| 性感美女视频一二三| 国产一区二区激情| 亚洲综合伊人久久大杳蕉| 91精品国产九九九久久久亚洲| 成人免费毛片嘿嘿连载视频…| 日韩电影网在线| 日本黄网站免费| 精品白丝av| 亚洲欧美激情网| 国产成人在线视频网址| 素人fc2av清纯18岁| 国产精品久久午夜| 五月天综合在线| 欧美日韩一区二区三区四区| www五月婷婷| 亚洲偷欧美偷国内偷| 手机在线免费看av| 国产精品国产福利国产秒拍| 最新精品在线| 亚洲精品无人区| 亚洲深爱激情| 少妇高潮一69aⅹ| 欧美极品aⅴ影院| 国产精品99精品无码视| 欧美视频第二页| 天堂中文网在线| 精品国模在线视频| 日韩高清成人| 国产精品一区二区欧美黑人喷潮水| 国产欧美一区二区精品久久久| 国产精品va在线观看无码| 免费观看一级特黄欧美大片| 三级电影在线看| 亚洲美女精品一区| 一级全黄肉体裸体全过程| 成人国产免费电影| 91国产高清在线| 日本a人精品| 欧美精品二区三区四区免费看视频| **女人18毛片一区二区| 91色国产在线| 91美女福利视频| 国产性70yerg老太| 欧美一区二区三区影视| 97电影在线| 国产精品va在线| 伊人春色之综合网| 自拍日韩亚洲一区在线| 国产成人精品免费一区二区| 成人做爰视频网站| 欧美影院一区二区三区| 男生女生差差差的视频在线观看| 久久久久久久久久久亚洲| 美女日韩一区| av磁力番号网| 精品一区二区影视| 久久久久亚洲AV成人无在| 色天天综合色天天久久| 你懂的视频在线观看| 日本午夜人人精品| 亚洲春色h网| 黄www在线观看| 久久亚洲综合av| 日韩在线视频免费播放| 亚洲аv电影天堂网| 国产第一页在线| 国产精选在线观看91| 在线精品在线| 在线观看国产网站| 午夜精品福利一区二区三区av | 狠狠色2019综合网| 亚洲国产精品一区二区久久hs| 欧美网站一区二区| jzzjzzjzz亚洲成熟少妇| 欧美色图片你懂的| 无码任你躁久久久久久老妇| 亚洲综合一区在线| 丰满熟妇乱又伦| 97精品在线视频| 夜夜春成人影院| 天天干在线影院| 国产精品乱码人人做人人爱| 在线观看一二三区| 欧美另类在线观看| 激情av综合| 久久精品国产sm调教网站演员| 91亚洲国产成人精品一区二三 | 国产二区三区在线| 99一区二区| 国产精品入口| 国产熟女一区二区| 91精品国产综合久久福利软件| 影音先锋中文在线视频| 国产一区二区三区黄| 久热精品视频| 日韩在线观看免| 精品国产露脸精彩对白| 性感女国产在线| 在线观看免费91| 国产不卡在线一区| 亚洲午夜18毛片在线看| 日日狠狠久久偷偷四色综合免费| 美女精品视频在线| 97av视频在线观看| 综合网在线视频| 天堂在线视频免费| 欧美日韩国产精品一区二区三区四区| 久久精品色妇熟妇丰满人妻| 91精品国产高清一区二区三区 | 视频一区二区免费| 国产精品久久久久久五月尺| 伊人成综合网| 成人免费看aa片| 91超碰这里只有精品国产| 第一福利在线视频| 亚洲欧美日韩在线综合| 国产成人精品午夜视频免费 | 免费日韩精品中文字幕视频在线| 人妻视频一区二区| 亚洲成人1234| 亚洲一区二区av|