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

藝龍網(wǎng)王海濱:前端渲染優(yōu)化-domdiff

原創(chuàng)
開發(fā) 架構(gòu) 前端
對于不斷發(fā)展的web應(yīng)用,性能的優(yōu)化,用戶的體驗(yàn)從來都沒有間斷過,如何逆水行舟,不進(jìn)則退。隨著通訊技術(shù)的高速發(fā)展,web應(yīng)用在近幾年快速增加及普及,已經(jīng)成為人們必不可少的工具,充斥著生活的方方面面,商務(wù),娛樂,旅游,工作。

對于不斷發(fā)展的web應(yīng)用,性能的優(yōu)化,用戶的體驗(yàn)從來都沒有間斷過,如何逆水行舟,不進(jìn)則退。隨著通訊技術(shù)的高速發(fā)展,web應(yīng)用在近幾年快速增加及普及,已經(jīng)成為人們必不可少的工具,充斥著生活的方方面面,商務(wù),娛樂,旅游,工作。

隨著用戶規(guī)模的日益增大,web應(yīng)用的內(nèi)容和功能也變得越來越豐富,各大應(yīng)用對于用戶的體驗(yàn),流量,內(nèi)存,性能優(yōu)化也越來越高,人們不僅僅要看到自己需要的內(nèi)容,還對響應(yīng)速度,動(dòng)畫的流暢性,瀏覽網(wǎng)頁的等待時(shí)間都提出了非常大的要求。

在網(wǎng)頁首屏優(yōu)化上,我們盡量采用異步加載頁面數(shù)據(jù)的方式來提升用戶的流暢性,也增加了一些離線模板的技術(shù)規(guī)劃,而在代碼的底層組件,我們引入了一下新的方向,去減少用戶點(diǎn)擊事件之后對頁面DOM節(jié)點(diǎn)的操作,從而提升用戶體驗(yàn)。

我們希望slarkjs是一個(gè)簡單的,通用的,易了解和使用的框架,而我們的組員也保持著平常心的心態(tài)去豐富我們的框架,我們希望slarkjs是很多初級的h5開發(fā)希望去了解的,去熟悉的,以下我會(huì)用很多非常白話文的概念思路去解析我們的框架組件,給一些對h5有興趣,對slarkjs有興趣的前端開發(fā)童靴去了解組件化的開發(fā)思路與框架的理念。

回到dom優(yōu)化上,最開始我們打算是引用domdiff的理念,來進(jìn)行數(shù)據(jù)對比,而這些數(shù)據(jù)對比完全是在js中去實(shí)現(xiàn),然后精簡之后來進(jìn)行dom的操作。舉個(gè)簡單的例子,一個(gè)dom節(jié)點(diǎn)可能是這樣的: 

  1. <ul> 
  2. <li>1</li> 
  3. <li>2</li> 
  4. <li>3</li> 
  5. <li>4</li> 
  6. </ul> 

 

而我們想把它變成這樣 

  1. <ul> 
  2. <li>1</li> 
  3. <li>2</li> 
  4. <li>3</li> 
  5. <li>5</li> 
  6. <li>6</li> 
  7. </ul> 

正常情況我們只有兩種方式,***種,替換整個(gè)ul節(jié)點(diǎn),第二種,將你想要變成的數(shù)據(jù)循環(huán)inner進(jìn)去,這樣我們就有了4次的刪除和5次的添加,但是我們覺得這些dom操作太多了。

其實(shí)真實(shí)的情況,我們最需要把第四個(gè)li中的數(shù)據(jù)替換,并且在后面添加一個(gè)<li>6/li>就能達(dá)到我們需要的結(jié)果,我們需要一個(gè)組件來幫助我們對dom節(jié)點(diǎn)的操作進(jìn)行分析。一般的domdiff應(yīng)用都存在于大多數(shù)的聊天室,評論區(qū),一些頻繁的dom替換的場所,我們希望他是一個(gè)小型的,方便應(yīng)用的,適合框架的一個(gè)小應(yīng)用。

在開發(fā)期間,我們還花費(fèi)了將近兩周的時(shí)間對現(xiàn)在非常流行的react及react-native進(jìn)行了詳細(xì)的技術(shù)調(diào)研,我不得不說,react的開發(fā)效率是我目前所見最快速的框架,他的模塊化開發(fā)思路,虛擬dom的理念都是我非常喜歡的一種方式,并且我們嘗試了將它合并進(jìn)slarkjs框架,開始我們只希望讓它來負(fù)責(zé)view層的重繪工作,但是在實(shí)踐中我們其實(shí)更希望它能負(fù)責(zé)更多的內(nèi)容,可惜的是,react來web層面的使用,還有一定局限性,并且需要大量的開發(fā)時(shí)間來修改一些組件,很遺憾我們暫時(shí)停滯了這個(gè)項(xiàng)目的開發(fā)進(jìn)度,但react-native在app上的開發(fā),卻是一個(gè)潛能***的壯舉,在之后的文章中,我們會(huì)持續(xù)的給大家?guī)韘larkjs框架是如何吸收react-native并融入到app的開發(fā)。現(xiàn)在我們先回到domdiff的思路邏輯中。首先,我們在構(gòu)建domdiff中,想法是很簡單的,

1.    我們需要它來接收2個(gè)參數(shù),1.現(xiàn)在頁面上的節(jié)點(diǎn),2.我們需要讓它變成什么樣子。

  1. var domdiff = function(oldid,newid) { 
  2.         var a1 = document.getElementById(oldid); 
  3.         var a2 = document.getElementById(newid); 
  4.         var dd = new diffDOM(); 
  5.         dd.apply(a2, dd.diff(a2, a1)); 
  6.     }; 
  7. var tdomdiff = function(oldid,newid) { 
  8.         var a2 = document.getElementById(oldid); 
  9.         var a3 = document.createElement('div');  
  10.         a3.innerHTML = newid; 
  11.         var dd = new diffDOM(); 
  12.         dd.apply(a2, dd.diff(a2, a3)); 
  13.     };

2.    我們需要它來對2個(gè)參數(shù)進(jìn)行數(shù)據(jù)對比,并放回一個(gè)list,里面包含最少量級的dom操作

  1. if (!tree1 || !tree2) { 
  2.            return false
  3.        } 
  4.        if (tree1.nodeType !== tree2.nodeType) { 
  5.            return false
  6.        } 
  7.        if (tree1.nodeType === 3) { 
  8.            if (tree2.nodeType !== 3) { 
  9.                return false
  10.            } 
  11. return preventRecursion ? true : tree1.data === tree2.data; 
  12.        } 
  13.        if (tree1.nodeName !== tree2.nodeName) { 
  14.            return false
  15.        } 
  16.        if (tree1.tagName === tree2.tagName) { 
  17.            .... 
  18.        } 
  19.        if (tree1.childNodes.length !== tree2.childNodes.length) { 
  20.            return false
  21.        } 

3.    去實(shí)現(xiàn)list 

  1. Object.keys(options).forEach(function(t) { 
  2.     diff[t] = options[t]; 
  3.     }); 

從開發(fā)的角度來講,1,3都非常好實(shí)現(xiàn),而第二步,會(huì)讓大多數(shù)的前端開發(fā)覺得頭疼,這時(shí)候我們需要介紹兩個(gè)很容易被遺忘,并且不會(huì)經(jīng)常用到的屬性nodeTpye和childNodes,其實(shí)JS有很多屬性我們是很少會(huì)用到或者說,在我們的業(yè)務(wù)開發(fā)中和技術(shù)實(shí)現(xiàn)中很少去涉及的,相對來說,這也影響了我們對更深入的技術(shù)開發(fā)的方向,所以很多時(shí)候,我們提倡去看一些開發(fā)大拿的代碼,其實(shí)是去看他們都用到了哪些屬性,他們的開發(fā)邏輯思維,而并不是去copy他們的代碼。

NodeType,它會(huì)讓我們獲得body元素的節(jié)點(diǎn)類型。說得簡單一些,就是讓我們知道當(dāng)前節(jié)點(diǎn)是元素,屬性,文本內(nèi)容等等

ChildNodes會(huì)讓我們獲得body元素的子節(jié)點(diǎn)集合,以NodeList對象。簡單解釋就是返回一個(gè)list,里面是當(dāng)前節(jié)點(diǎn)下所有的子節(jié)點(diǎn),包括class,文本,select,option等等。

之后就很好去分析我們的構(gòu)想了,通過NodeType去獲取節(jié)點(diǎn)并判斷節(jié)點(diǎn)屬性,當(dāng)然還要去判斷當(dāng)前頁面的節(jié)點(diǎn)是否唯一,然后通過ChildNodes去對比節(jié)點(diǎn)下屬性之間的差異,并且需要增加一些屬性作為標(biāo)記,比如判斷當(dāng)前是否應(yīng)該修改,修改的順序等等。OK,說干就干,于是我們有了以下這個(gè)邏輯圖

 

 

(點(diǎn)擊圖片查看大圖)

    我們在diff中傳建了一個(gè)空的list數(shù)組,然后將2個(gè)nodeType傳到finddiff中,finddiff會(huì)做兩件事情,在finddiff-out中判斷在body中是否唯一,然后分離其中的數(shù)據(jù)并在list中增加***個(gè)修改項(xiàng),也就是最外層的修改項(xiàng)。然后再Finddiff-inner中通過ChildNodes分析內(nèi)部結(jié)構(gòu),并且循環(huán)去判斷2組數(shù)據(jù)中是否重疊,這里有個(gè)小問題,就是你需要用用距離值去填充匹配獲相同的內(nèi)容量,舉個(gè)例子:

 

  1. <ul> 
  2. <li>1</li> 
  3. <li>2</li> 
  4. <li>3</li> 
  5. <li>4</li> 
  6. </ul> 

 

而我們想把它變成這樣

 

  1. <ul> 
  2. <li>1</li> 
  3. <li>5</li> 
  4. <li>6</li> 
  5. <li>3</li> 
  6. <li>4</li> 
  7. </ul> 

 

如果你僅僅是去循環(huán)判斷重復(fù),那你會(huì)在第二步的時(shí)候,將5變成2,第三步將6變成3,這樣是一個(gè)很浪費(fèi)資源的,所以我們需要用距離值去填充,當(dāng)我們用新數(shù)據(jù)去循環(huán)的時(shí)候,我們需要在***次循環(huán)中判斷參數(shù)是否重復(fù),對重復(fù)的參數(shù)判斷修改值為false,再第二次循環(huán)中對非重復(fù)的參數(shù)用距離值去填充數(shù)據(jù),***得出最簡單的list來覆蓋。

這樣的方式,減少了頁面對dom的操作次數(shù),提升頁面的加載速率和二次加載速率,但是也是有一些坑的,比如:如果頁面dom修改量巨大,在循環(huán)中會(huì)浪費(fèi)非常多的時(shí)間去循環(huán)判斷重復(fù)項(xiàng),可能會(huì)比單獨(dú)替換整體dom節(jié)點(diǎn)花費(fèi)更多的時(shí)間,所以在domdiff中,需要增加一些判斷,去適應(yīng)大多數(shù)的方式。比如:減少循環(huán),如果只是單純的文本替換,我們并不需要去循環(huán)判斷它的其他屬性,又或者增加閥值,如果運(yùn)行時(shí)間或者數(shù)據(jù)量超過標(biāo)準(zhǔn)時(shí)間進(jìn)行部分的dom替換,這些都是組件級對代碼的嚴(yán)謹(jǐn)性。

結(jié)尾,domdiff其實(shí)是為了瀏覽器的優(yōu)化而做,但是也要適應(yīng)當(dāng)前的環(huán)境而用,它更像是react虛擬dom理念的前身,有好處也有壞處,使用時(shí)候還需謹(jǐn)慎,我們會(huì)在今后的1,2個(gè)月中,對react-native進(jìn)行詳細(xì)的分析,并且嘗試去融入到我們的框架中,也許會(huì)打出分支版,slarkjs-native來支持app的開發(fā),到時(shí)候會(huì)給大家繼續(xù)分享進(jìn)一步的技術(shù)體驗(yàn),希望對h5比較有興趣的童靴可以加入到我們的team中,體驗(yàn)既擁有Native的用戶體驗(yàn)、又保留React的開發(fā)效率。

參考文獻(xiàn)

http://www.w3school.com.cn/jsref/prop_node_nodetype.asp

http://www.w3school.com.cn/jsref/prop_node_childnodes.asp

https://github.com/Seven-wang/react 

作者簡介
 
王海濱 ,8年互聯(lián)網(wǎng)前端開發(fā),任職過中演票務(wù)通等互聯(lián)網(wǎng)電商平臺,14年就任藝龍網(wǎng)前端框架組開發(fā)工程師,負(fù)責(zé)藝龍網(wǎng)前端框架開發(fā)。
 
 
責(zé)任編輯:王雪燕 來源: 51CTO
相關(guān)推薦

2015-09-18 09:10:53

藝龍網(wǎng)Slarkjs框架

2015-12-01 10:05:29

Slarkjs框架離線模板

2015-09-21 11:48:45

藝龍網(wǎng)前端優(yōu)化IT技術(shù)周刊

2016-12-08 10:57:08

渲染引擎前端優(yōu)化

2023-04-10 11:18:38

前端性能優(yōu)化

2018-06-27 08:21:31

前端Web渲染

2015-05-28 10:35:38

攜程

2015-05-27 15:26:46

攜程

2015-05-28 13:34:30

攜程

2012-06-01 10:28:54

Web

2012-06-06 15:57:29

Web

2020-05-27 09:41:10

前端性能邊緣計(jì)算

2015-05-27 13:57:53

攜程

2022-02-16 08:11:52

組件渲染前端

2017-04-12 11:46:46

前端瀏覽器渲染機(jī)制

2013-07-10 10:24:10

2015-05-28 10:48:11

攜程

2015-05-27 14:06:55

攜程

2015-08-18 15:33:38

戴爾云計(jì)算anycloud

2009-02-19 13:55:58

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

欧美午夜精品免费| 欧美aa国产视频| 日本韩国一区二区三区| 视频三区二区一区| 精品久久久久久亚洲综合网站 | 99久久久无码国产精品衣服| 国产亚洲人成a在线v网站| 亚洲精品免费在线观看| 蜜桃传媒视频麻豆一区| 国产美女精品视频国产| 亚洲一区免费| 欧美精品免费在线| a级片在线观看| 欧美黄色一级| 欧美中文字幕不卡| 国产一区二区三区小说| 国产粉嫩一区二区三区在线观看 | 在线中文字幕亚洲| 亚洲美女久久久| 日韩av福利在线观看| 欧美三级网址| 亚洲电影一区二区| 最近中文字幕免费mv| 你懂的视频在线免费| 国产丶欧美丶日本不卡视频| 国产精品入口免费视| 日韩特黄一级片| 欧美1区2区3区| 综合136福利视频在线| 国产制服丝袜在线| 伊人久久影院| 欧美一区二区女人| 日韩欧美国产片| 日本久久免费| 狠狠综合久久av一区二区小说| 国产一级大片免费看| 欧美极品视频| 国产精品免费视频观看| 日本免费高清一区二区| 污视频在线免费观看| 国产成人免费av在线| 国产精品视频一区二区三区四| 国产精品午夜影院| 亚洲精品极品| 97国产suv精品一区二区62| 黄色a级片在线观看| 水蜜桃久久夜色精品一区| 国产亚洲视频在线观看| 国产肥白大熟妇bbbb视频| 国产精品嫩草影院在线看| 精品一区二区三区四区| www.88av| 色88888久久久久久影院| 亚洲国产私拍精品国模在线观看| 一区二区在线免费观看视频| 日本免费一区二区视频| 日韩欧美高清一区| 911亚洲精选| 久久精品色综合| 亚洲第一区在线观看| 亚洲一级Av无码毛片久久精品| 视频精品一区二区三区| 欧美成人aa大片| 日本护士做爰视频| 久久不卡国产精品一区二区 | 亚洲精品美女91| 午夜精品视频在线| 国内自拍视频在线播放| 久久亚洲不卡| 国产欧美日韩91| 97久久人国产精品婷婷| 国产高清在线观看免费不卡| 福利精品视频| 天堂中文在线官网| 国产亚洲欧美在线| 一区二区免费在线视频| 亚洲精品一线| 精品久久久一区| 噼里啪啦国语在线观看免费版高清版| 九九九精品视频| 日韩一级二级三级| 中文乱码人妻一区二区三区视频| 精品影片在线观看的网站| 日韩在线视频免费观看高清中文 | 91精品国产麻豆国产在线观看 | 视频一区不卡| 天堂av最新在线| 亚洲18女电影在线观看| av无码精品一区二区三区| 亚州精品国产| 亚洲国产精品一区二区久| 亚洲精品乱码久久久久久久久久久久| 欧美国产小视频| 久久久免费精品视频| 亚洲欧美日韩激情| 欧美天天在线| 成人天堂yy6080亚洲高清| 国产成人啪免费观看软件| 国产福利一区二区三区在线观看| 五月天福利视频| 国产精品全国免费观看高清| 国产日韩第一页| 午夜伦理福利在线| 7878成人国产在线观看| 粉嫩av懂色av蜜臀av分享| 日韩a一区二区| 久久久久久久亚洲精品| 精品乱码一区内射人妻无码| 国产69精品久久久久777| 欧美日韩三区四区| 欧美人体视频xxxxx| 在线精品视频小说1| 超碰人人cao| 成人婷婷网色偷偷亚洲男人的天堂| 欧美黑人性猛交| 国产乱码在线观看| 99re成人在线| 黄色三级中文字幕| 亚洲成人高清| 午夜欧美大尺度福利影院在线看| 亚洲人成人一区二区在线观看| 国产呦系列欧美呦日韩呦| av女优在线| 午夜精品免费在线观看| 小早川怜子一区二区三区| 亚洲影院天堂中文av色| 欧美激情中文网| 97成人在线观看| 日本一区二区三区dvd视频在线 | 亚洲精品乱码久久久久久蜜桃麻豆| 国产精品稀缺呦系列在线| 黄色av网址在线免费观看| 亚洲国产日日夜夜| 俄罗斯女人裸体性做爰| 99久久影视| 国产精品色婷婷视频| 国产私人尤物无码不卡| 欧美日韩另类字幕中文| 伊人久久一区二区三区| 欧美日韩影院| av电影成人| 亚洲第一图区| 日韩午夜精品电影| 男人av资源站| 亚洲色图27p| 国产成人精品免费看视频| 久久99国产精品免费| 欧美午夜欧美| 欧美aa视频| 亚洲欧美激情在线视频| 日日摸天天添天天添破| 2024国产精品| 青青草精品视频在线观看| 色棕色天天综合网| 国产精品成人v| 国产三级视频在线看| 欧洲精品中文字幕| 9.1片黄在线观看| 久久精品国产亚洲aⅴ| 亚洲欧美日韩在线综合 | 日本国产在线视频| 亚洲激情黄色| 欧美精品二区三区四区免费看视频| 人人草在线视频| 亚洲色图15p| 最新国产中文字幕| 亚洲男人的天堂一区二区 | 久久免费的精品国产v∧| 国产91对白刺激露脸在线观看| 伊人久久大香线蕉综合网站| 国产精品极品尤物在线观看 | 日韩有码av| 国产精品久久久久久久久久东京 | 日本精品中文字幕| 自拍视频在线播放| 欧美电视剧在线看免费| 国产微拍精品一区| 国产欧美日韩久久| 99精品视频免费版的特色功能| 亚洲精品一级| 日本一区二区三区免费看| 亚洲国产精选| 91爱爱小视频k| 欧美激情二区| 日韩av影院在线观看| 国产九色91回来了| 亚洲自拍欧美精品| av黄色免费网站| 韩国欧美国产1区| 国产精品秘入口18禁麻豆免会员| 操欧美老女人| 国产精品一区二区av| 韩日一区二区| 欧美激情aaaa| а天堂8中文最新版在线官网| 欧美一区二区精品在线| 天码人妻一区二区三区在线看| 国产精品国模大尺度视频| 男人的天堂影院| 久久超碰97中文字幕| 国产精品自产拍在线观看中文| 一区二区三区观看| 69av成人| 亚洲免费视频一区二区| 99久久精品无免国产免费| 欧美视频二区36p| 欧美精品久久久久久久久46p| 99久久国产综合精品麻豆| 美女少妇一区二区| 一区二区三区精品视频在线观看| 亚洲日本va在线观看| 日日夜夜精品网站| 99久久香蕉| 国产精品永久免费| 亚洲天堂av在线| 欧美极品美女视频网站在线观看免费 | 成人午夜在线视频一区| 成人福利av| 久久久久一本一区二区青青蜜月| 日本在线播放| 亚洲欧美日韩天堂一区二区| 黄色福利在线观看| 宅男噜噜噜66一区二区66| 国产99免费视频| 婷婷国产在线综合| 麻豆映画在线观看| 菠萝蜜视频国产在线播放| 亚洲免费小视频| 天天操天天爱天天干| 日韩精品中文字幕一区| 国产精品无码免费播放| 欧美揉bbbbb揉bbbbb| 亚洲色成人www永久网站| 亚洲444eee在线观看| 精品午夜福利视频| 亚洲精品少妇30p| 亚洲一二三在线观看| 国产精品美女久久福利网站| 性欧美一区二区| 久久精品人人做人人爽人人| 亚洲av无码一区二区二三区| 在线成人视屏| 亚洲美女区一区| 国产又粗又猛又爽又黄的视频四季| 91美女福利视频| 在线免费观看成年人视频| 99亚偷拍自图区亚洲| av黄色一级片| 99久久综合精品| 欧美 日本 国产| 久久影院电视剧免费观看| av直播在线观看| 久久久www免费人成精品| 国产精品密蕾丝袜| 久久这里只有精品视频网| 亚洲成色www8888| 国产精品亚洲综合天堂夜夜| 国产精品久久777777换脸| 在线视频欧美精品| 欧美日韩 一区二区三区| 欧洲一区在线观看| 亚洲一区中文字幕在线| 777亚洲妇女| 中文字幕在线天堂| 欧美熟乱第一页| 久久国产乱子伦免费精品| 波多野结衣在线播放一区| 亚洲一区尤物| 欧美精品麻豆| 成人中文字幕在线播放| 日韩国产精品久久久| 91丨九色丨蝌蚪| 豆国产96在线|亚洲| 玖草视频在线观看| 亚洲国产精品成人综合| 性色av无码久久一区二区三区| 亚洲一区在线电影| 国产精品第5页| 欧美日韩不卡视频| 亚洲精品一区二区三区新线路| 日韩成人中文字幕| h视频网站在线观看| 粗暴蹂躏中文一区二区三区| 男人av在线播放| 国产精品影片在线观看| ady日本映画久久精品一区二区| 麻豆av一区二区| 久久久久电影| 免费看又黄又无码的网站| 秋霞午夜鲁丝一区二区老狼| 亚洲精品一区二区18漫画| 久久久久国产精品麻豆ai换脸| 美女视频久久久| 午夜精品久久久久久久99樱桃| 天干夜夜爽爽日日日日| 日韩欧美三级在线| 可以在线观看的av| 欧美黑人xxx| 99re久久| 精品蜜桃传媒| 欧美激情1区2区| 国产精彩免费视频| 成人中文字幕合集| 综合 欧美 亚洲日本| 午夜精品福利一区二区蜜股av| 一本色道久久综合熟妇| 日韩精品久久久久久福利| 国产写真视频在线观看| 日韩免费av一区二区| 在线视频亚洲欧美中文| 一区二区av| 首页亚洲欧美制服丝腿| 特黄特色免费视频| 国产精品私房写真福利视频| 日韩高清精品免费观看| 日韩一级黄色片| 黄网页在线观看| 国产精品久久久久久亚洲影视 | 成a人v在线播放| 7777免费精品视频| 亚洲高清999| 一本色道久久99精品综合| 久久久久国产一区二区| 97人妻精品一区二区三区免费| 亚洲色图.com| 在线免费观看一级片| 亚洲美女性生活视频| aa视频在线观看| 超碰97在线资源| 在线国产一区| 最新av免费在线观看| 国产人成亚洲第一网站在线播放 | 91 com成人网| 亚洲天天影视| 国产精品一二区| 欧美日韩中文字幕一区二区三区| 黑人糟蹋人妻hd中文字幕| 9人人澡人人爽人人精品| 国产在线拍揄自揄拍| 日韩欧美激情四射| 自由的xxxx在线视频| 91老司机精品视频| 亚洲老妇激情| 在线观看网站黄| 亚洲精品视频在线观看网站| 国产黄色片网站| 欧美激情第6页| 成人免费黄色网页| 亚洲图片在线| 国内自拍欧美激情| 在线成人视屏| 亚洲aⅴ天堂av在线电影软件| 丝袜亚洲另类欧美| 老熟妇一区二区| 秋霞电影网一区二区| 成人亚洲免费视频| 中文字幕一区二区三区在线观看| 中文字幕av免费观看| 色av吧综合网| 国产精品亚洲欧美一级在线| www.亚洲一区二区| 国产高清在线观看免费不卡| 国产真人真事毛片| 亚洲精品97久久| www成人在线视频| 一本一本a久久| 高清在线成人网| 色婷婷在线观看视频| 亚洲色图第一页| 欧美性生活一级| 男人天堂新网址| 91片黄在线观看| 亚洲天堂视频在线播放| 久久久极品av| 精品人人人人| 狠狠操精品视频| 亚洲人成网站色在线观看| 日韩一级中文字幕| 国产ts一区二区| 婷婷综合在线| 中文视频在线观看| 在线观看国产一区二区| 男人的天堂在线视频免费观看| 97欧洲一区二区精品免费| 国产亚洲毛片| 亚洲不卡在线播放| 久久国产精品色婷婷| 国产精品美女主播| 超碰97国产精品人人cao| 久久99精品久久久久久青青日本| 日韩主播视频在线| 免费一级片视频| 亚洲男人天天操| 9.1麻豆精品| 人妻精品无码一区二区三区| 国产精品热久久久久夜色精品三区| 精品人妻一区二区三区麻豆91| 欧美一级高清免费播放| 中文字幕一区二区三三| 中文字幕国产专区|