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

Dojo1.6新特性:HTML5進(jìn)行時(shí)

開發(fā) 前端
近年來HTML5的關(guān)注度越來越高。雖然該規(guī)范還在緊鑼密鼓地制定中,但是相信很多HTML5的概念大家已經(jīng)耳熟能詳。HTML5中具有的新特性會(huì)帶來更酷的用戶體驗(yàn),同時(shí)也將為廣大Web開發(fā)者提供更廣闊的平臺(tái)。本文將就此為大家介紹一些Dojo中已經(jīng)用到的HTML5特性!

Dojo作為最老牌的JavaScript庫之一,近年來也一直沒有停止過對(duì)各種新技術(shù)的應(yīng)用,對(duì)新標(biāo)準(zhǔn)的融合。也許你已經(jīng)使用dojo很久,但可曾注意過dojo中對(duì)HTML5的應(yīng)用呢?

Dojo中已經(jīng)用到的HTML5特性:

(1)支持HTML5 自定義屬性的dojo.parser

(2)支持HTML Canvas的dojox.gfx和dojox.charting

(3)支持HTML5 indexed Database Object Store API 的 dojo.store API

(4)基于HTML5 localstorage的dojox.storage.LocalStorageProvider

(5)支持HTML5 multiple file input 的 dojox.form.Uploader

支持HTML5 自定義屬性的dojo.parser

如何為頁面中的一個(gè)節(jié)點(diǎn)設(shè)置一個(gè)自定義屬性來判斷該節(jié)點(diǎn)是否可以被拖拽?面對(duì)這個(gè)問題,我們可能會(huì)不假思索地為節(jié)點(diǎn)附上一個(gè)“draggable”屬性。但我們往往忽略了一點(diǎn)——這個(gè)“draggable”屬性是否會(huì)與別的屬性發(fā)生沖突?我們的經(jīng)驗(yàn)告訴我們不會(huì)。的確,在HTML5之前,我們往往會(huì)通過這種方式來實(shí)現(xiàn)拖拽功能。但不幸的是,在HTML5中,“draggbale”已經(jīng)是標(biāo)準(zhǔn)屬性之一,這也就意味著修改“draggable”屬性會(huì)修改節(jié)點(diǎn)對(duì)應(yīng)的瀏覽器行為,而這并不一定是你想要的。

其實(shí)在dojo1.5之前的版本中,我們就一直在使用這種可能存在風(fēng)險(xiǎn)的自定義屬性。回想一下我們是如何用標(biāo)簽聲明一個(gè)常用的dojo按鈕控件dijit.form.Button的:

  1. <button id="button1" dojoType="dijit.form.Button">Button1</button> 

雖說dojoType并不太可能成為HTML標(biāo)準(zhǔn)屬性之一,但不可否認(rèn)這不是一種優(yōu)雅的實(shí)現(xiàn)方式。

而HTML5中已經(jīng)有了針對(duì)自定義屬性的規(guī)范。所有自定義屬性都必須以data-作為前綴。這樣就可以很方便的將HTML標(biāo)準(zhǔn)屬性與自定義屬性區(qū)分開來,不僅提供了代碼的可讀性也避免了與標(biāo)準(zhǔn)屬性沖突的風(fēng)險(xiǎn)。

在dojo1.6中,也針對(duì)HTML5的這一規(guī)范做出了相應(yīng)的改進(jìn)。你可以在dojo1.6中發(fā)現(xiàn)一系列符合標(biāo)準(zhǔn)的自定義屬性,這些屬性已經(jīng)可以被dojo.parser正確地識(shí)別出來:

(1)data-dojo-config:取代了原來的dojoConfig,用以配置dojo庫的各項(xiàng)參數(shù)

(2)ata-dojo-type:取代了原來的dojoType屬性,用以指定所用的dojo對(duì)象類型

(3)ata-dojo-props:取代了原來所有初始化dojo控件的自定義屬性。

其中data-dojo-config與data-dojo-type的使用方法與原來的dojoConfig以及dojoType沒有區(qū)別。而data-dojo-props則大大美化了初始化控件時(shí)的屬性配置代碼。

使用非HTML5標(biāo)準(zhǔn)屬性時(shí),聲明一個(gè)簡(jiǎn)單的CheckBox我們可能需要為節(jié)點(diǎn)單獨(dú)設(shè)置5個(gè)屬性值:

  1. <input name="cb1" id="cb1" value="foo"   dojoType="dijit.form.CheckBox"   onClick="console.log('clicked cb1')">  

而標(biāo)準(zhǔn)屬性data-dojo-props之后,我們則只需要設(shè)置三個(gè)屬性:

  1. <input id="cb1" data-dojo-id="cb1" data-dojotype="dijit.form.CheckBox" data-dojo-props='name:"cb1", value:"foo", onClick:function(){ console.log("clicked cb1") }'/> 

更值得注意是,這樣的聲明方法和使用JavaScript動(dòng)態(tài)創(chuàng)建一個(gè)CheckBox非常相似:

  1. new dijit.form.CheckBox({  
  2. id: "cb1",  
  3. name: "cb1",  
  4. value: "foo",  
  5. onclick: function(){console.log("clicked cb1")},  
  6. }, "cb1"); 

這是因?yàn)閐ojo.parser會(huì)將data-dojo-props中的內(nèi)容作為一個(gè)散列參數(shù)表來初始化控件。這使得標(biāo)簽和代碼兩種形式的初始化代碼可以***程度上的保持一致。

可見,HTML5的自定義屬性在dojo中得到了充分的利用,帶來了很好的效果。不過在dojo1.6中,這樣的自定義屬性還不能使用在dojox.mobile包中的控件上。不過可以預(yù)見,在以后的版本中,dojox.mobile包中的控件也將支持這一實(shí)用的特性。

支持HTML Canvas的dojox.gfx和dojox.charting

在HTML5眾多特性之中,Canvas可能是帶給大家感受最深的一個(gè)了。眾多基于Canvas的應(yīng)用充分展示了它強(qiáng)大的繪圖功能。其基本繪圖流程如下:

  1. // 獲取canvas元素  
  2. var canvasElement= document.getElementById("canvas");  
  3. // 默認(rèn)瀏覽器支持Canvas,獲取canvas元素對(duì)應(yīng)的2D上下文環(huán)境  
  4. var canvasContext = canvasElement.getContext("2d");  
  5. If(canvasContext){  
  6. canvasContext.fillStyle = "#1433FF"//設(shè)置繪圖的填充色  
  7. canvasContext.strokeStyle = "#FF1500"//設(shè)置繪圖的線條顯色  
  8. canvasContext.lineWidth = 1; //設(shè)置繪圖的線條寬度  
  9. canvasContext.fillRect (10, 10, 110, 110); //繪制實(shí)心矩形  
  10. canvasContext.strokeRect(10, 230, 110, 110); //繪制空心矩形  

此外canvasContext還提供了功能齊全的繪制折線、文字、陰影、圖片等API。這些內(nèi)容已遠(yuǎn)遠(yuǎn)超過本文所涉及的范圍,因此不再一一贅述。

對(duì)于如此強(qiáng)大的Canvas,dojo其實(shí)也早已經(jīng)將其整合到了自己的圖形模塊中。由于dojox.gfx包下的dojox.gfx.canvas模塊對(duì) HTML5 Canvas API的繪圖接口進(jìn)行了封裝,使得dojox.gfx的canvas繪圖接口VML、SilverLight繪圖沒有任何區(qū)別。你不需要任何的 Canvas API使用經(jīng)驗(yàn),只需在dojo的配置選項(xiàng)中將圖形渲染模式設(shè)置為canvas即可:

  1. <script type="text/javascript" data-dojo-config="gfxRenderer:'canvas'" src="dojo.js"></script> 

借助于dojox.gfx對(duì)于各種繪圖方式一直的接口,dojox.charting下的所有圖表也都支持canvas模式。只需將渲染模式設(shè)置為canvas,你便獲得了一套完全基于HTML5 Canvas API的圖表庫。

此外,你還可以通過為gfxRenderer配置候補(bǔ)選項(xiàng)來使dojox.gfx在不支持HTML5的環(huán)境下自動(dòng)使用其他渲染器。如下列代碼就指定優(yōu)先使用HTML5 Canvas進(jìn)行圖形渲染,如果瀏覽器不支持canvas的話會(huì)依次嘗試svg和vml進(jìn)行渲染。

  1. <script type="text/javascript" data-dojo-config="gfxRenderer:'canvas,svg,vml'"   
  2. src="dojo.js"></script> 

支持HTML5 indexed Database Object Store API 的 dojo.store API
在HTML5中提出了一套基于鍵值對(duì)的數(shù)據(jù)存儲(chǔ)API。使用者可以簡(jiǎn)單透明地通過使用以下方法來對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行查詢、更新、添加、刪除:

(1)get(index): 根據(jù)索引值獲取數(shù)據(jù)。

(2)put(value, /*可選*/ index): 更新數(shù)據(jù)記錄。

(3)add(value,/*可選*/ index): 添加數(shù)據(jù)記錄。若索引指向位置已存在記錄,則添加失敗。

(4)remove(index): 根據(jù)索引值移除數(shù)據(jù)記錄。

dojo 1.6中的dojo.store很好的實(shí)現(xiàn)了這一套接口,更加簡(jiǎn)化了原有的dojo.data包所提供的數(shù)據(jù)存儲(chǔ)API。dojo.store包下有三種已實(shí)現(xiàn)的store:

(1)Memory:簡(jiǎn)單、輕量級(jí)的store,適合處理小數(shù)據(jù)集。

(2)JsonRest:專門為REST API服務(wù)的store,適合處理大數(shù)據(jù)集。

(3)DataStore:用于為原有dojo.data包下的store提供object store api的store

這三種store雖然初始化方法和使用場(chǎng)景各有不同,但都提供了符合HTML5標(biāo)準(zhǔn)的get,put,remove方法(除了DataStore之外,也都提供了add方法)。用戶可以通過如下的流程對(duì)這些store進(jìn)行很方便的操作:

  1. //獲取索引為some-id的記錄  
  2. var record = store.get("some-id");  
  3. //修改獲取的記錄的bar字段  
  4. record.bar = newValue;  
  5. //更新該記錄  
  6. store.put(record);  
  7. //創(chuàng)建一條新記錄  
  8. var newRecord = {id: "some-new-id",   
  9. bar: "bar",  
  10. foo: "foo" 
  11. };  
  12. Store.add(newRecord ); 

我們可以看到使用dojo.store包實(shí)現(xiàn)的object store API進(jìn)行數(shù)據(jù)管理就如同管理普通JavaScript Object一樣方便。之后我們還將看到這套API還***的應(yīng)用到了dojo對(duì)于HTML5 localstorage的實(shí)現(xiàn)——dojox.storage.LocalStoragePovider上。

基于HTML5 localstorage的dojox.storage.LocalStorageProvider

HTML5 在數(shù)據(jù)存儲(chǔ)方面不僅僅提供了方便的indexed Database Object Store API,還提供了十分有用的Local Storage。 Local Storage也被稱作Web Storage、Dom Storage。簡(jiǎn)單地說其本質(zhì)就是以鍵值對(duì)保存的Web頁面信息。和以前我們常用的cookies一樣,可以保存頁面相關(guān)信息,哪怕用戶離開當(dāng)前頁面甚至直接關(guān)閉了瀏覽器。相較于cookies,Local Storage***的特點(diǎn)就是可以儲(chǔ)存更多的信息——cookies***只能保存4KB數(shù)據(jù)。同時(shí)Local Storage中的數(shù)據(jù)并不會(huì)被傳遞到服務(wù)器端(cookies則會(huì)隨著http請(qǐng)求被發(fā)送)。

LocalStorage的使用方法也十分簡(jiǎn)便,從LocalStorage獲取一個(gè)值可以通過

  1. var value = localstorage.getItem("bar"); 

或更加簡(jiǎn)便的

  1. localstorage["bar"]; 

方式獲得。而向localstorage寫一個(gè)值可以通過

  1. localstorage.setItem("bar""newValue"); 

或更加簡(jiǎn)便的

  1. localstorage["bar"] = "newValue"

來實(shí)現(xiàn)。

dojo 的dojox.storage 包提供了各類常用的數(shù)據(jù)存儲(chǔ)工具:適用于cookies的CookieStorageProvider,適用于Google gears的GearsStorageProvider,適用于Adobe Air的AirDBStorageProvider、AireFileStorageProvider、 AireEncryptedLocalStorageProvider等。

其中dojo也專門針對(duì)HTML5 local storage特性提供了LocalStorageProvider。LocalStorageProvider完全兼容簡(jiǎn)便的Object Store API,其接口及其主要功能如下:

put: function( /*string*/ key, /*object*/ value, /*function*/ resultsHandler,/*string?*/ namespace)

用以保存一對(duì)鍵值。***個(gè)參數(shù)為所要保存的數(shù)據(jù)的索引。第二個(gè)參數(shù)是所要保存的數(shù)據(jù)。第三個(gè)參數(shù)用以處理數(shù)據(jù)保存結(jié)果的回調(diào)函數(shù)(數(shù)據(jù)保存可能失敗)。***一個(gè)參數(shù)為可選的命名空間名。dojo為了更好的管理存儲(chǔ)內(nèi)容,提供了命名空間這一參數(shù),其本質(zhì)是將命名空間和索引組成一個(gè)形為 “__namespace_key”的新索引值,而命名空間的默認(rèn)值為“default”。

get: function(/*string*/ key, /*string?*/ namespace)

用以獲取指定命名空間下的所給索引指向的數(shù)據(jù)。

***個(gè)參數(shù)為所要獲取的數(shù)據(jù)的索引。第二個(gè)參數(shù)為可選的命名空間名,默認(rèn)值為“default”。

remove: function(/*string*/ key, /*string?*/ namespace)

用以刪除指定命名空間下的所給索引指向的數(shù)據(jù)

***個(gè)參數(shù)為所要獲取的數(shù)據(jù)的索引。第二個(gè)參數(shù)為可選的命名空間名,默認(rèn)值為“default”。

clear: function(/*string?*/ namespace)

用以清空指定命名空間下的所有數(shù)據(jù)。參數(shù)為可選的命名空間名,默認(rèn)值為“default”。

這些API不僅僅與dojox.storage包下的其余provider保持一致,還與dojo.store包中提供的store對(duì)象的接口兼容。因此 dojox.storage.LocalStorageProvider和dojo.store包為HTML5的存儲(chǔ)體系提供了完整的支持。

支持HTML5 multiple file input 的 dojox.form.Uploader

HTML5 中對(duì)各種標(biāo)簽都進(jìn)行了增強(qiáng),其中也不乏對(duì)于各類HTML控件的改進(jìn)。其中input標(biāo)簽就獲得了名為multiple的新屬性。以前HTML中的 input標(biāo)簽只能選擇單個(gè)文件,而有了multiple屬性之后,你可以使用input標(biāo)簽一次性選擇多個(gè)文件。如有一個(gè)input控件:

  1. <input multiple="multiple" id="uploadfile" type="file" name="uploaddfile"></div> 

你可以點(diǎn)擊瀏覽按鈕之后在文件選擇窗口中一次性選擇多個(gè)需要的文件。并且可以通過如下代碼獲取選擇的文件信息:

  1. var files = document.getElementById("uploadfile").files; 

input標(biāo)簽的文件選擇功能往往被應(yīng)用于文件的上傳中。而dojo 1.6中的dojox.form.uploader則很好的利用了HTML5這一新特性實(shí)現(xiàn)了基于HTML5的多文件上傳。

首先dojox.form.Uploader會(huì)判斷當(dāng)前的瀏覽器是否支持HTML5的增強(qiáng)版input標(biāo)簽,如果支持,那么dojox.form.Uploader將會(huì)使用帶有multiple屬性的input標(biāo)簽。

dojx.form.Uploader提供了以下API對(duì)HTML5的多文件上傳進(jìn)行支持:

getFileList: function()

用以獲取當(dāng)前選擇的文件信息。本質(zhì)是獲取對(duì)應(yīng)的input標(biāo)簽下的files數(shù)據(jù)進(jìn)行整理,并為每個(gè)文件添加索引。

upload: function(/*Object ? */formData)

用以上傳指定數(shù)據(jù)(文件),dojox.form.uploader.plugins.HTML5具體實(shí)現(xiàn)了該方法的HTML5版本(還有Flash和 Iframe兩種版本可選,分別由其余兩個(gè)插件實(shí)現(xiàn))。該方法會(huì)判斷當(dāng)前的瀏覽器是否支持FormData(Firefox 4以上和Webkit內(nèi)核的瀏覽器基本都支持),若支持則使用該方式上傳,否則使用binary格式上傳。

submit: function(/* form Node ? */form)

用于當(dāng)dojox.form.Uploader處于一個(gè)form表單之中時(shí),同時(shí)上傳文件及表單內(nèi)其他信息。

reset: function()

用以清除當(dāng)前選擇的所有文件,還不支持清除單個(gè)指定的文件。

有了dojox.form.Uploader,你可以很方便的創(chuàng)建一個(gè)基于HTML5的多文件上傳控件,并使用其API對(duì)其進(jìn)行控制。當(dāng)然,dojo也為不支持HTML5這一新特性的瀏覽器提供了其他解決方案。你可以發(fā)現(xiàn)在dojox.form.uploader.plugins包下除了HTML5之外還有 IFrame和Flash兩種插件。如果瀏覽器不支持HTML5的多文件選擇功能,那么dojox.form.Uploader會(huì)自動(dòng)嘗試使用這兩個(gè)插件來實(shí)現(xiàn)多文件上傳。你無需為了讓代碼可以跨平臺(tái)而花費(fèi)任何精力。

總結(jié)

現(xiàn)在我們可以發(fā)現(xiàn),在Dojo中,HTML5其實(shí)早已應(yīng)用在各個(gè)方面,從數(shù)據(jù)存儲(chǔ)到圖形繪制,從代碼風(fēng)格到具體控件。相信在將來的版本中,Dojo會(huì)一如既往的融入各種新技術(shù)、兼容各種新標(biāo)準(zhǔn),提供更好的用戶體驗(yàn)!

【編輯推薦】

  1. 拖拽:從 Dojo 到 HTML5
  2. 用Dojo實(shí)現(xiàn)Ajax請(qǐng)求:XHR、跨域、及其他
  3. 2.3 把Dojo和Dijit添加到網(wǎng)頁
  4. HTML 5的革新:結(jié)構(gòu)之美
責(zé)任編輯:于鐵 來源: InfoQ
相關(guān)推薦

2011-04-25 14:20:49

DojoHTML 5

2011-04-25 15:22:59

DojoAMD

2011-02-25 10:19:23

ibmdwHTML5Web開發(fā)

2011-08-01 16:43:51

ibmdwHTML5Dojo

2011-09-08 09:38:46

HTML5 WidgeDojo

2011-07-19 13:39:20

iOS HTML5

2010-04-02 08:56:00

HTML 5

2011-08-30 09:07:30

HTML 5

2011-07-12 13:21:34

2011-11-09 10:05:26

HTML 5

2020-10-09 11:02:46

HTML5 特性

2014-03-18 09:20:17

HTML5移動(dòng)開發(fā)

2011-02-23 11:22:59

DojoHTML 5

2009-09-25 10:23:51

HTML 5新特性

2011-03-28 17:58:17

ibmdwHTML5

2012-04-28 14:01:17

HTML5

2010-05-17 10:05:55

Subversion1

2014-12-22 15:02:48

HTML5移動(dòng)應(yīng)用開發(fā)

2009-07-07 12:30:38

JDK1.6

2014-12-03 10:21:50

HTML5
點(diǎn)贊
收藏

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

侵犯稚嫩小箩莉h文系列小说| 一级黄色香蕉视频| 蜜臀av免费在线观看| 狠狠爱成人网| 亚洲欧美精品伊人久久| 中文久久久久久| 超碰公开在线| 337p粉嫩大胆色噜噜噜噜亚洲| 国产v综合ⅴ日韩v欧美大片| 亚洲一级二级片| 美女扒开腿让男人桶爽久久动漫| 色综合久久久网| 亚洲午夜激情| 色哟哟国产精品色哟哟| 日韩av一区二区在线影视| 久久综合电影一区| 美国黄色a级片| 精品国产麻豆| 色综合天天综合在线视频| 一本久久a久久精品vr综合 | 日本黄色特级片| 婷婷成人av| 欧美丝袜美女中出在线| 中文字幕av日韩精品| 天天躁日日躁狠狠躁伊人| 日韩精品1区2区3区| 97精品国产aⅴ7777| 午夜精品福利在线视频| 经典一区二区| 亚洲精品999| 无套内谢丰满少妇中文字幕| 超薄肉色丝袜脚交一区二区| 亚洲超碰精品一区二区| 欧美性受xxxx黑人猛交88| 极品白浆推特女神在线观看| 国产成人啪午夜精品网站男同| 国产精品久久久久久久7电影| 日韩av电影网址| 亚洲女同中文字幕| 上原亚衣av一区二区三区| 日本xxx在线播放| 风间由美中文字幕在线看视频国产欧美 | 久久久精品99| 久久久久久久久国产一区| 国产亚洲精品高潮| 免费观看av网站| 日韩激情网站| 日韩精品在线免费观看| 99精品一区二区三区无码吞精| 精品国产伦一区二区三区观看说明 | 国产精品欧美一区二区三区不卡| 欧美专区亚洲专区| 国产精品无码一本二本三本色| 韩国成人二区| 午夜成人免费视频| 色欲色香天天天综合网www| 黄页网站大全在线免费观看| 亚洲综合丝袜美腿| 污污污污污污www网站免费| 国产精品一区二区三区视频网站| 国产精品私人自拍| 在线不卡日本| 二区三区四区高清视频在线观看| 中文字幕一区二区三区在线播放| 亚洲免费视频一区| 国产鲁鲁视频在线观看特色| 亚洲色图欧美偷拍| 日本一级黄视频| 国产福利在线免费观看| 性久久久久久久久| 日本三级免费观看| 国产精品高潮久久| 欧美高清视频不卡网| 人妻少妇偷人精品久久久任期| 久久精品一级| 亚洲精美色品网站| 久久久久亚洲av无码a片| 成人在线免费观看网站| 久久视频免费观看| 欧美成人三级视频| 99热在线精品观看| 国产不卡视频在线| 一卡二卡在线视频| 成人黄色小视频在线观看| 九九九久久久| 自拍视频在线| 亚洲一区二区三区四区的| 国产主播在线看| 欧美午夜三级| 欧美va天堂va视频va在线| av网站免费在线播放| 久久福利影院| 久久久久久亚洲精品| 岛国av中文字幕| 国产原创一区二区| 久草一区二区| 综合久久2o19| 色视频一区二区| 婷婷中文字幕在线观看| 日韩高清电影免费| 久久久999成人| 美日韩一二三区| 九九**精品视频免费播放| 国产精品成人一区二区三区| 超碰国产在线观看| 亚洲观看高清完整版在线观看| 欧美黑人又粗又大又爽免费| aaa国产精品| 在线观看不卡av| 国产精品1000| 久久99精品国产| 久久偷看各类wc女厕嘘嘘偷窃| 免费a级人成a大片在线观看| 激情成人中文字幕| 韩国三级与黑人| 日韩电影一区| 5252色成人免费视频| av免费在线观看不卡| 久久精品日产第一区二区三区高清版| 日韩中文在线字幕| 精品国产欧美日韩一区二区三区| 亚洲精品福利资源站| 日本一级二级视频| 久久国产精品99久久久久久老狼 | 欧美日韩伦理| 97精品一区二区三区| 国产男男gay体育生网站| 久久久久高清精品| 亚洲熟妇国产熟妇肥婆| 亚洲三级av| 久久久国产精品亚洲一区| 天天天天天天天干| 91色.com| 波多野结衣之无限发射| 97se亚洲国产一区二区三区| 日韩在线观看高清| 亚洲av人无码激艳猛片服务器| 91在线观看地址| 福利视频一区二区三区四区| 久久九九精品视频| 欧美成人第一页| 国产美女免费视频| 自拍偷拍国产精品| 一区二区在线免费看| 久久成人综合| 成人激情春色网| 蜜芽在线免费观看| 欧美日韩精品是欧美日韩精品| 亚洲精品国产精品国自产网站| 久久国产高清| 欧美日韩亚洲一区二区三区在线观看| 成av人片在线观看www| 亚洲高清在线观看| 91午夜视频在线观看| 99精品国产视频| 欧美精品色婷婷五月综合| 婷婷精品在线观看| 日韩美女激情视频| 福利成人在线观看| 欧美三级蜜桃2在线观看| 国产精品1区2区3区4区| 精品一区二区三区在线播放视频| 天天成人综合网| 日本一区二区三区视频在线看| 欧美日韩999| 成人免费公开视频| 狠狠色狠狠色综合日日小说| 中国毛片在线观看| 麻豆成人在线观看| 日本美女爱爱视频| 极品束缚调教一区二区网站| 5566成人精品视频免费| 黄视频在线播放| 欧美日韩夫妻久久| 久久久久久久久99| 久久婷婷一区二区三区| 日本黄大片一区二区三区| 综合激情视频| 久久久精品动漫| 国产精品伦一区二区| 美女精品视频一区| 性xxxx视频| 欧美日韩极品在线观看一区| 久久久久99精品成人片试看| 2024国产精品| xxxx在线免费观看| 亚洲日本成人| 亚洲三级一区| 极品尤物一区| 成人免费视频网| 僵尸再翻生在线观看| 日日摸夜夜添一区| 深夜福利视频网站| 欧美三级午夜理伦三级中视频| 国产在线视频卡一卡二| 日本一区二区视频在线| 美女日批在线观看| 免费黄网站欧美| 成人在线播放网址| 日韩午夜电影网| 精品国产中文字幕| 高清一区二区中文字幕| 国产91色在线|免| 欧美人与性动交α欧美精品济南到| 日韩精品久久久久| 精品国产无码一区二区| 91福利区一区二区三区| 日本网站免费观看| 综合久久给合久久狠狠狠97色| 大黑人交xxx极品hd| 国产成人鲁色资源国产91色综| 粉嫩虎白女毛片人体| 国内自拍一区| 中国一区二区三区| 国产精品探花在线观看| 国产精品一区而去| 成人噜噜噜噜| 国产精品久久久999| 日本在线影院| 欧美激情三级免费| 免费大片在线观看www| 在线观看日韩专区| 欧美色综合一区二区三区| 欧美成人三级在线| 国产三级按摩推拿按摩| 欧美色精品天天在线观看视频| 中日韩精品视频在线观看| 一区二区三区四区激情| 51精品免费网站| 中文幕一区二区三区久久蜜桃| 人妻无码一区二区三区| av资源网一区| 久久国产劲爆∧v内射| 国产一区二区三区四| 日韩高清第一页| 麻豆国产欧美一区二区三区| 三级视频中文字幕| 日产欧产美韩系列久久99| 蜜臀av午夜一区二区三区| 亚洲国产99| 无码av天堂一区二区三区| 欧美激情91| 亚洲国产一二三精品无码 | 97成人在线| 国产传媒欧美日韩| 国产suv精品一区二区四区视频| 91影院在线免费观看视频| 亚洲欧美在线综合| 成人h猎奇视频网站| 日韩综合久久| 亚洲一区亚洲二区| 精品中文字幕一区二区三区| 91色p视频在线| 视频国产精品| 成人片在线免费看| 全球av集中精品导航福利| 久久免费一区| av永久不卡| 椎名由奈jux491在线播放 | 韩国女主播一区二区三区| 国产亚洲精品久久飘花| 亚洲+变态+欧美+另类+精品| 欧美成熟毛茸茸复古| 残酷重口调教一区二区| 一区二区三区在线观看www| 性xxxx欧美老肥妇牲乱| 日本一道在线观看| 国产欧美激情| 美女一区二区三区视频| 狠狠色丁香婷综合久久| 欧美一级片在线免费观看| 成人av资源站| 国产精久久一区二区三区| 国产精品伦理一区二区| 欧美黄色aaa| 狠狠久久亚洲欧美专区| 一卡二卡三卡在线观看| 亚洲国产天堂久久综合| 撸视在线观看免费视频| 久久精品视频导航| av电影免费在线看| 国产精品福利片| 精品精品视频| 欧美日韩在线精品| 亚洲成av人片一区二区密柚| 免费国产a级片| 免费欧美在线视频| 日韩av无码一区二区三区不卡| 国产午夜精品久久久久久久| 国产这里有精品| 色又黄又爽网站www久久| 国产精品怡红院| 国产视频在线观看一区二区| 免费在线看a| 欧美黑人国产人伦爽爽爽| 成人在线网站| 国产精品yjizz| 91欧美在线| 少妇性饥渴无码a区免费| 国产一二精品视频| 黄色aaa视频| 亚洲最快最全在线视频| 中文字幕一二三四| 亚洲福利在线视频| 18视频在线观看网站| 国产精品午夜视频| 欧美有码在线| www.成年人视频| 国内精品视频666| 黄色国产在线播放| 欧美日韩国产丝袜另类| www.久久久久久| 色婷婷综合久久久久中文字幕1| 欧美freesex黑人又粗又大| 亚洲xxx大片| 色777狠狠狠综合伊人| 久久久久狠狠高潮亚洲精品| 成人av在线播放网站| 四虎精品免费视频| 欧美在线播放高清精品| 日本福利片在线| 97视频在线看| 一区三区自拍| 国产911在线观看| 黄网站免费久久| 黄色免费一级视频| 91福利国产成人精品照片| 四虎影视在线观看2413| 欧美久久久精品| 国产电影一区二区| 日本特级黄色大片| 久久狠狠亚洲综合| 四虎影视一区二区| 欧美日韩一区二区在线观看视频 | 999精品视频在这里| 午夜久久久久久久久久久| 激情综合网激情| 老熟妇高潮一区二区三区| 欧美日产在线观看| 香蕉视频免费在线播放| 国产精品视频色| 日韩在线第七页| 亚洲无在线观看| 亚洲三级电影网站| 国产伦一区二区| 九九九热精品免费视频观看网站| 久久爱www.| 中文字幕无码精品亚洲资源网久久| 丁香桃色午夜亚洲一区二区三区| 麻豆91精品91久久久| 日韩欧美色综合| 91破解版在线观看| 久久www免费人成精品| 久久精品午夜| 国产aaaaaaaaa| 5566中文字幕一区二区电影| 成人日日夜夜| 国产精品福利视频| 国产欧美精品久久| 人妻aⅴ无码一区二区三区| 欧美三级视频在线播放| 国产在线69| 国产精品久久久久久久天堂第1集| 亚洲高清资源| 香蕉视频黄色在线观看| 欧美影院精品一区| 国产福利视频在线观看| 成人做爰66片免费看网站| 日韩天堂av| 日本美女bbw| 日韩一区二区在线看片| av成人 com a| 日韩亚洲视频| 国产精品资源网| 久久狠狠高潮亚洲精品| 亚洲天堂av综合网| 疯狂欧洲av久久成人av电影| 精品久久久久久无码中文野结衣| 91麻豆文化传媒在线观看| 中文字幕+乱码+中文字幕明步| 美女av一区二区三区| 欧美精品中文| 亚洲成色www.777999| 亚洲免费高清视频在线| 亚洲aⅴ乱码精品成人区| 国产精品亚发布| 亚洲激情另类| 精品人妻中文无码av在线 | 韩国三级在线播放| 日韩欧美国产成人| 国产在线1区| 欧美日本韩国国产| 国产精品99久久久久久久女警| 国产成人一级片| 欧美久久精品午夜青青大伊人| 九九久久婷婷| 久久人妻少妇嫩草av蜜桃| 欧美性生活久久| 国产夫妻在线| 激情五月五月婷婷|