精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

欧美伦理片在线看| 狠狠色综合网站久久久久久久| 亚洲最大成人综合网| 无遮挡爽大片在线观看视频| 久久综合久久鬼色| 国产精品视频久| 国产女片a归国片aa| 欧美人妖视频| 欧美日韩国产色站一区二区三区| 精品一区二区成人免费视频| 人妻一区二区三区免费| 久久www成人_看片免费不卡| 自拍偷拍亚洲欧美| 成人啪啪18免费游戏链接| 在线观看福利电影| 亚洲色图欧洲色图| 欧美亚洲丝袜| 国产高清视频免费观看| 视频一区二区欧美| 欧美大片大片在线播放| a天堂中文字幕| www.爱久久| 91精品在线观看入口| 国产极品粉嫩福利姬萌白酱| 伦xxxx在线| 久久综合久久综合久久| 国产高清精品一区二区| 最新黄色网址在线观看| 夜久久久久久| 欧美黄色片视频| 美女网站视频色| 亚洲激情77| 欧美精品一区二区三区很污很色的 | 日本一区二区三区四区视频| 久草免费新视频| 国产精品99久久| 亚洲人成网7777777国产| 无码人妻一区二区三区在线| 日韩黄色三级| 欧美日韩免费视频| 日日碰狠狠躁久久躁婷婷| 暖暖在线中文免费日本| 亚洲日本va午夜在线影院| 亚洲福利av在线| 波多野结衣一区二区| 久久综合九色综合久久久精品综合| 97夜夜澡人人双人人人喊| 91福利在线观看视频| 青青草伊人久久| 日韩免费av片在线观看| 久久精品无码av| 久久精品123| 91高清视频免费| 国产成人在线播放视频| 亚洲精品四区| 午夜欧美大片免费观看| 日本少妇久久久| 狠狠色丁香久久综合频道| 欧美国产日本高清在线| 一区二区在线观看免费视频| 欧美日本国产| 欧美精品videosex极品1| 久久免费公开视频| 亚洲激情亚洲| 欧美诱惑福利视频| 69国产精品视频免费观看| 久久精品五月| 国产精品一区二区久久久久| 在线免费一级片| 狠狠色狠狠色合久久伊人| 91精品视频网站| av免费在线观看不卡| 国产精品996| 国产亚洲一区在线播放| 青草久久伊人| 亚洲国产岛国毛片在线| 亚洲精品久久久久久一区二区| 69久久夜色| 亚洲美女区一区| 九色自拍视频在线观看| 欧美大片免费高清观看| 欧美亚洲综合另类| 免费成人黄色大片| 1313精品午夜理伦电影| 亚洲精品资源美女情侣酒店| 中文字幕第24页| 午夜激情久久| 久久久噜噜噜久久久| 岛国av中文字幕| 久久精品国产精品青草| 国产精品入口免费| 国内在线免费高清视频| 亚洲欧美另类图片小说| 免费看国产曰批40分钟| 伊人久久高清| 欧美成人激情免费网| 国产人妻人伦精品1国产丝袜| 日韩av在线播放网址| 欧美黑人一级爽快片淫片高清| 国产区在线观看视频| 另类小说欧美激情| 黄色小网站91| 黄色在线论坛| 欧美性xxxxhd| 在线观看免费视频污| 亚洲v天堂v手机在线| 操日韩av在线电影| 亚洲s码欧洲m码国产av| 国产高清久久久久| 日韩一区二区三区资源| ****av在线网毛片| 欧美老年两性高潮| 精品久久久久久中文字幕人妻最新| 99久久精品费精品国产风间由美| 97视频在线观看成人| 一本到在线视频| www成人在线观看| www成人免费| 黄色成人在线视频| 日韩av最新在线观看| 日韩在线中文字幕视频| 日本中文字幕一区二区视频| 狠狠色综合色区| 欧美另类tv| 3d成人动漫网站| 亚洲色图 激情小说| 亚洲一区不卡| 国产精品视频免费一区二区三区| 免费观看成人高潮| 91久久国产综合久久| www.17c.com喷水少妇| 中文字幕免费精品| 国产热re99久久6国产精品| 波多野结衣作品集| 成人免费一级视频| 中文字幕亚洲成人| 欧美日韩大尺度| 欧美韩一区二区| 欧美大肥婆大肥bbbbb| 中文字幕人成人乱码亚洲电影| 99久久久国产精品免费蜜臀| 人妻无码一区二区三区四区| 日韩黄色三级在线观看| 最近的2019中文字幕免费一页| 日日骚av一区二区| 91蜜桃网址入口| 美女日批免费视频| 国产精品调教| 午夜精品一区二区三区在线| 男人天堂综合网| 亚洲成人免费视频| 欧美极品jizzhd欧美仙踪林| 欧美日韩国产高清| 99免费在线观看视频| 麻豆影院在线观看| 7777精品久久久大香线蕉| 国产精品免费在线视频| 久久国产夜色精品鲁鲁99| 亚洲精品一品区二品区三品区| 日韩网站中文字幕| 原创国产精品91| 伊人影院中文字幕| 日韩理论片网站| 日韩欧美色视频| 亚洲私拍自拍| 久久久久久欧美精品色一二三四| 日韩av一卡| 亚洲天堂av高清| 中文字幕 日韩有码| 国产精品国产三级国产aⅴ无密码| 亚洲 激情 在线| 亚洲精品久久| 粉嫩av免费一区二区三区| aa级大片免费在线观看| 日韩精品在线视频| 又骚又黄的视频| 亚洲欧美精品午睡沙发| 久久久久9999| 日本中文字幕一区二区视频 | 国产精品综合久久久| 欧美日韩欧美| 亚洲成人精品在线| 亚洲欧美一区二区三区在线观看| 亚洲国产经典视频| 国产男女无遮挡猛进猛出| 日韩午夜在线电影| 日日噜噜噜噜夜夜爽亚洲精品| 亚洲二区av| 韩国精品久久久999| 成人亚洲性情网站www在线观看| 欧美日韩精品欧美日韩精品| 欧美成人精品激情在线视频| 久久色视频免费观看| 日韩av在线中文| 韩国在线一区| 亚洲精品一区二区三| 911亚洲精品| 国产精品99久久久久久www| а√中文在线8| 亚洲欧美精品伊人久久| av网站在线观看免费| 色综合久久中文综合久久97| 91狠狠综合久久久| 91蝌蚪porny| 在线观看网站黄| 久久精选视频| 男人c女人视频| 香蕉久久夜色精品国产使用方法 | 亚洲成人午夜影院| 日日操免费视频| 久久尤物电影视频在线观看| 亚洲av无码久久精品色欲| 天堂成人国产精品一区| 老子影院午夜伦不卡大全| 精品美女在线视频| 精品产品国产在线不卡| 国产日韩欧美中文在线| 国产精品福利在线观看网址| а√在线中文网新版地址在线| 少妇久久久久久| 欧美女子与性| 亚洲电影av在线| 亚洲a视频在线观看| 欧美三级韩国三级日本一级| 性无码专区无码| 亚洲午夜在线观看视频在线| 99热这里只有精品4| 国产日产亚洲精品系列| 精品人妻一区二区三区视频| 国产.精品.日韩.另类.中文.在线.播放 | 国产精品国模大尺度私拍| 国产中文欧美日韩在线| 国产精品视频网站| 日韩精品三区| 欧美综合激情网| 精品丝袜在线| 97国产精品人人爽人人做| 新版中文在线官网| 欧美乱妇高清无乱码| 黄视频网站在线看| 久久久www成人免费精品张筱雨 | 国产精品久久福利| 国产伦精品一区二区三区视频女| 久久天天做天天爱综合色| 日本一区二区在线免费观看| 成人午夜大片免费观看| 蜜桃色一区二区三区| 国产精品18久久久久久久久久久久 | 九九视频在线免费观看| 亚洲精品视频在线看| 国产盗摄一区二区三区在线| 亚洲丝袜另类动漫二区| 91免费公开视频| 亚洲视频在线一区观看| 老湿机69福利| 亚洲精选一二三| 久一区二区三区| 欧美日韩国产黄| 久热这里只有精品6| 精品国产91久久久| 99超碰在线观看| 欧美系列在线观看| 一级黄色大片网站| 欧美一级精品在线| 亚洲精品久久久久avwww潮水| 精品成人在线观看| 视频一区二区在线播放| 亚洲欧美日韩在线一区| 国产视频二区在线观看| 色婷婷久久av| 午夜伦理在线视频| 97精品一区二区三区| 亚洲日本天堂| 91精品免费看| 8x国产一区二区三区精品推荐| 精品国产乱码一区二区三区四区 | 成人综合在线观看| 亚洲欧美色图视频| 中文字幕亚洲不卡| 免费毛片在线播放免费| 欧美性极品xxxx娇小| 中文字幕一区二区三区波野结| 在线不卡免费欧美| 免费看av毛片| 亚洲午夜久久久久久久| 国产最新在线| 98精品在线视频| 色猫猫成人app| 国产精品区一区二区三在线播放| 精品高清久久| 国产精品免费看久久久无码| 国产精品试看| 男人午夜视频在线观看| 99re热这里只有精品视频| 成人黄色短视频| 午夜激情综合网| 亚洲永久精品视频| 亚洲国产欧美自拍| 免费网站黄在线观看| 亚洲18私人小影院| 24小时成人在线视频| 美日韩精品免费| 欧美激情91| 在线观看亚洲色图| 菠萝蜜视频在线观看一区| 人妻无码一区二区三区免费| 午夜精品免费在线| 国产美女无遮挡永久免费| 亚洲欧美第一页| 黑人精品视频| 成人情趣片在线观看免费| 亚洲免费专区| 69sex久久精品国产麻豆| 精品一区二区精品| 中文字幕被公侵犯的漂亮人妻| 一区二区三区在线观看网站| 亚洲精品国产精品乱码视色| 精品久久久久久久久久久久包黑料| 成人在线视频成人| 欧美亚洲在线视频| 亚洲无线观看| japanese在线播放| 久久99久久精品| 国产精品av久久久久久无| 欧美日韩一区二区三区在线免费观看 | 欧美专区18| 国产一线在线观看| 亚洲精品ww久久久久久p站| 中文字幕无码乱码人妻日韩精品| 亚洲欧美在线一区| 免费毛片b在线观看| 国产欧美日韩综合一区在线观看| 亚洲成人精品| 色一情一区二区三区| 中国av一区二区三区| 天堂免费在线视频| 亚洲偷欧美偷国内偷| 中文字幕在线看片| 久久精品五月婷婷| 一本色道久久精品| 你懂的在线观看网站| 亚洲一二三区不卡| 亚洲第一大网站| 色综合久综合久久综合久鬼88| 精品国产三级| 蜜桃网站在线观看| 国产精品18久久久久久vr| 亚洲欧美精品久久| 欧美一区二区久久| av免费在线观看网站| 97se国产在线视频| 午夜精品视频| 东京热av一区| 欧美日韩激情小视频| 日韩精品视频无播放器在线看| 欧美一级黑人aaaaaaa做受| 欧美禁忌电影网| 天天操天天摸天天爽| 国产精品福利影院| 99国产精品久久久久99打野战| 美女精品久久久| 7777精品| 黄色片久久久久| 亚洲国产成人一区二区三区| 影音先锋国产在线| 久久亚洲精品小早川怜子66| 久久国际精品| 黄色片网址在线观看| 久久精品亚洲乱码伦伦中文| 国产精品传媒在线观看| 日韩视频精品在线| 一区二区三区视频播放| 欧美精品99久久| 中文字幕精品在线不卡| 国产喷水福利在线视频| 欧美激情小视频| 精品久久久亚洲| 特黄特黄一级片| 黑丝美女久久久| 日本美女在线中文版| 俄罗斯精品一区二区三区| 久久精品二区三区| 中日韩一级黄色片| 亚洲福利小视频| av一区在线播放| 天天想你在线观看完整版电影免费| 99国产精品99久久久久久| 一级黄色片网站| 午夜精品久久久久久久久久久久久| 国产va免费精品观看精品视频 | www.日本少妇| 日本一区二区免费在线| va视频在线观看| 日本不卡高字幕在线2019| 亚洲h色精品| 成人国产精品久久久网站| 日韩午夜精品视频| 素人啪啪色综合| 日本网站免费在线观看| 亚洲天堂精品视频|