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

使用jQTouch增強您的下一個移動web應用程序

移動開發
這些開發人員將會很樂意學習 jQTouch — 一個基于 jQuery 的 web 框架,專為移動 web 開發而設計的。本文將從移動 web 開發人員的角度關注 jQTouch。

  對 web 開發的興趣,包括移動 web 應用程序,從未像現在這般高漲。一些開發桌面或者服務器端應用的開發人員也開始對移動 web 感興趣。然而,許多人想要將他們目前的 web 開發技巧應用到移動 web 開發中,這樣他們就不用學習完全不同的事物了,只為移動用戶進行開發。這是他們尋求移動 web 而非本地移動開發的部分原因。在 web 開發的世界中,有很多客戶端框架,但是 jQuery 是最流行的。那么,理所當然有很多對 jQuery 非常了解的開發人員對移動 web 開發感興趣。這些開發人員將會很樂意學習 jQTouch — 一個基于 jQuery 的 web 框架,專為移動 web 開發而設計的。本文將從移動 web 開發人員的角度關注 jQTouch。

  先決條件

  本文對 jQTouch 作一簡要概述。正如之前所提到的,這個框架是基于 jQuery 的。如果您對 jQuery 有一定了解,那么 jQTouch 對您將并不陌生。雖然本文并不需要熟知 jQTouch 知識,但是 JavaScript、HTML 和 CSS 方面的知識一定要熟悉。這里所有的代碼都是純客戶端的,可以被部署到任何 web 服務器上。本文中一起使用 jQTouch 1.0-beta2 和 jQuery 1.3.2。參見 參考資料 獲取這些工具的鏈接。

  jQTouch 簡介

  迄今為止,本系列已經介紹了兩個 web 應用程序框架,借鑒了大量 Apple 的 Cocoa 應用程序框架。這些框架抽象出 HTML 和 CSS — web 的關鍵表示技術。Cappuccino 框架甚至提取出許多 JavaScript,使用自己的編程語言 Objective-J 對其進行替換。jQTouch 框架采用一個非常不同的方法。它包括核心 web 技術,使普通的 Web 開發任務更容易、更直觀。

  jQTouch 之所以受歡迎是因為它構建于 jQuery 之上。從技術上來說它是一個 jQuery 插件,添加特定移動功能和樣式到應用程序。具體來說,它添加樣式和可視效果,旨在利用 iPhone 的功能優勢。盡管它的很多特性在其他移動設備上也能很好地工作,jQTouch 設計時無疑參考了 iPhone。我們來看一個構建于 jQTouch 之上的一個簡單的移動 web 應用程序。

  jQTouch 應用程序開發:利用 web 技巧

  正如前面所提到的,和其他框架(比如 SproutCore 和 Cappuccino)相比,jQTouch 框架采取了一個截然不同的方法來進行 web 應用程序開發。jQTouch 框架和這些框架也有很多共同之處;它同樣允許您從您的服務器上檢索數據以及在客戶端創建整個用戶接口。但是,不像這些框架,它不要求 您使用此方法。事實上,它不僅僅建立在 JavaScript 上,也建立在 HTML 和 CSS 上。要了解這一點,從基礎開始。

  jQTouch 基礎

  如果您閱讀了本系列的前兩篇文章,您對這個將要使用 jQTouch 構建的應用程序應該比較熟悉。它是針對內部 web 應用程序的一個員工通訊錄。您需要加載您在本系列上兩期中所使用的數據。然而,jQTouch 提供更移動友好的用戶界面元素,因為它有一個更好的 UI。您將需要以表格形式和清單形式顯示數據。從一個主界面開始,如 清單 1 所示,該界面允許用戶選擇表格格式或清單格式的數據。


清單 1. 應用程序要點和主屏幕代碼

 

  1. > 
  2. <html> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
  5. <title>Intranet Employee Directorytitle> 
  6. <style type="text/css" media="screen"> 
  7. @import "jqtouch/jqtouch.min.css";  
  8. style> 
  9. <style type="text/css" media="screen"> 
  10. @import "themes/jqt/theme.min.css";  
  11. style> 
  12. <script src="jqtouch/jquery.1.3.2.min.js" type="text/javascript"   
  13. charset="utf-8">script> 
  14. <script src="jqtouch/jqtouch.min.js" type="text/javascript"   
  15. charset="utf-8">script> 
  16. <script type="text/javascript"> 
  17. var jQT = $.jQTouch({  
  18. icon : 'icon.png'  
  19. });  
  20. script> 
  21. head> 
  22. <body> 
  23. <div class="home"> 
  24. <div class="toolbar"> 
  25. <h1>Employeesh1> 
  26. div> 
  27. <ul class="edgetoedge"> 
  28. <li class="arrow"><a href="#list-style">Lista> 
  29. li> 
  30. <li class="arrow"><a href="#table-style">Tablea> 
  31. li> 
  32. ul> 
  33. div> 
  34. body> 
  35. html> 

#p#

  清單 1 中的代碼包含一個 jQTouch 應用程序的基本要點。兩個 CSS 文件和兩個 JavaScript 文件也包含在內。要使用 jQTouch,這兩個 JavaScript 文件您都需要。這些包含 jQuery 庫和 jQTouch 插件庫。您也需要第一個 CSS 文件(jqtouch.min.css),另一個 CSS 文件是一個可選主題。jQTouch 包括兩個主題,一個用來匹配 iPhone (Cocoa Touch) UI,另一個(jqt)較為中性。在清單 1 中,jqt 主題 CSS 文件也包括在其中。最后,您需要初始化 jQTouch 對象。許多選項可以被傳送到這個構造函數。在這里,您只要指定一個應用程序圖標,如果用戶‘安裝’ 該應用程序,將會使用這個圖標,如 圖 1 所示。

 

 


圖 1. 安裝到 iPhone 主屏幕的移動 web 應用程序

回到清單 1,余下的代碼是基礎 HTML。您有一個含有 home 類的 div。這個類沒什么特別之處。然而,如果您熟悉 jQuery,那么您將會認出這是 jQuery 中的一個頁面。您應用程序中的每個頁面(屏幕)在單個 HTML 頁面上是一個 div。所以這種情況下,您的頁面在頂層有一個 div,含有 toolbar 類。 這個特別的類是在核心 jQTouch CSS 文件中定義的幾個樣式中的一個。接著,您有一個含有 edgetoedge 類的無序列表 — 另一個 jQTouch 樣式。這個列表中的每個條目都是鏈接到 HTML 頁面其他部分的鏈接。此外,它也是另一個常用 jQuery 范式,用于鏈接一個 web 應用程序中的不同頁面。圖 2 展示了在清單 1 中創建的應用程序在 iPhone 中的樣子。

 


圖 2. iPhone 上的主屏幕

圖 2 顯示一個相對簡單的用戶界面;創建它需要的所有代碼在清單 1 中,此時您所用是一些 HTML。您清單中的元素也是可點擊的,而且它們將導向您應用程序的其他頁面。然而,這些頁面需要一些加載 Ajax 的數據以正常工作。正如您所看到的,Ajax 是 jQuery 與眾不同的另一個方面。

  使用 jQuery 生成動態數據

  迄今為止,您已經利用了 jQTouch 為移動設備優化的樣式來生成簡單的 HTML,并將其變成一個引人注目的移動用戶界面。現在生成一個動態清單和一個動態表格。首先檢索這些界面的數據,如 清單 2 所示。


清單 2. 使用 Ajax 檢索數據
 

  1. $(document).ready(function(){  
  2. $.getJSON('employees.json', function(data){  
  3. data.forEach(addEmployee);  
  4. });  
  5. ...  
  6. });  
  7. function addEmployee(e){  
  8. addEmployeeToList(e);  
  9. addEmployeeToTable(e);  

  在清單 2 中,您只用了基本的 jQuery 功能。初始頁面加載完成后立即使用 Ajax 從服務器加載數據。這是 Web 開發中的一個常用范式,jQuery 使用 $(document).ready 函數輕松地就可以生成。該函數接受一個函數作為它的輸入參數。在這個案例中您使用一個匿名內聯函數,也稱為一個閉包。這個閉包在在初始頁面加載完成后立即 執行。jQuery 提供很多方便的函數來處理 Ajax 請求和響應。在這種情況下,數據將被格式化為 JSON,因此,使用 jQuery 的 getJSON 函數,采用一個字符串來表示請求的 URL 端點。這個函數在后臺使用一個 XMLHttpRequest 對象生成一個 HTTP GET 來請求這個 URL。

  當 Ajax 請求從服務器成功返回時,該函數也采用另一函數作為一個回調。(也可以利用另一個可選 callback 函數來處理錯誤,但是為了保持示例的簡潔,我們放棄了使用它。)您再一次傳遞一個閉包作為 callback 函數;此函數預期接收一個 employee 對象數組 — 在本系列之前的文章中您曾使用過的數據。該回調函數然后使用 Array 對象的 forEach 方法。您可能對這個函數不是很熟悉,因為它在舊版本中沒有提供。但是在您鎖定的這些更現代的瀏覽器上,它都是 可用的。它使用一個函數作為它的參數,然后依次將這個函數應用到 Array 中的每個對象中。盡管您可以傳遞另一個閉包給它,而不是將其作為一個引用傳遞給另一個名為 addEmployee 的函數。該函數授權分離函數,將員工對象添加到列表以及添加到表格??纯催@些函數如何使用 jQTouch 動態創建 UI。

  使用 jQTouch 創建動態 UI

  回到清單 1 ,您將注意到您的主屏幕已經連接到其他兩個頁面了,一個是數據的列表視圖,另一個是數據的表格視圖。我們之前提到過,它利用 jQuery 在頁面上使用 div 的約定來代表您的應用程序的各個頁面。這些頁面的 HTML 如 清單 3 所示。


清單 3. 列表和表格的 HTML

  1. <div id="list-style"> 
  2. <div class="toolbar"> 
  3. <h1>Listh1> 
  4. <a class="button back" href="#">Backa> 
  5. div> 
  6. <ul class="edgetoedge" id="eList">ul> 
  7. div> 
  8. <div id="table-style"> 
  9. <div class="toolbar"> 
  10. <h1>Tableh1> 
  11. <a class="button back" href="#">Backa> 
  12. <a class="button flip" href="#new">+a> 
  13. div>   
  14. <table> 
  15. <thead> 
  16. <tr> 
  17. <td>Nametd> 
  18. <td>Phonetd> 
  19. <td>Emailtd> 
  20. tr> 
  21. thead> 
  22. <tbody id="eTable">tbody> 
  23. table> 
  24. div> 



再一次強調,上面只是一個簡單的 HTML。一次只研究一個頁面,在列表頁中,您再次有一個使用工具欄樣式的嵌套 div。它是一個簡單標題,含有鏈接錨文本。注意到錨點有返回類按鈕。再一次說明,這是 jQTouch 提供的一種樣式,它將為頁面創建一個返回按鈕,看起來像源自移動平臺的。圖 3 顯示了這個工具欄在 iPhone 中的效果。


圖 3. 列表頁面工具欄

正如您所看到的,jQTouch 允許您使用少量代碼輕松地創建高質量的界面。返回到清單 3 ,您可以看到您也有一個空的無序列表。注意,它使用 jQTouch 提供的 edgetoedge 風格,如果您想水平拉伸整個屏幕,這是一個很合適的條目。使用您在清單中從服務器檢索到的數據來填充這個列表,如 清單 4 所示。


清單 4. 創建一個列表

 

  1. function addEmployeeToList(e){  
  2. var list = $("#eList");  
  3. var text = e.firstName + " " + e.lastName +  
  4. ", " + e.phone + ", " + e.email;  
  5. var li = $("<li>").html(text);  
  6. list.append(li);  
  7. }  

#p#

  在典型 web 開發中動態創建 HTML 元素是一個比較繁瑣的任務;這再一次成為 jQuery 炫目的地方。清單 4 中的代碼是純 jQuery 代碼。您首先可以通過向 jQuery 傳遞一個 CSS 選擇器從清單 3 中獲取這個無序列表的一個引用。創建您想要放入列表中的文本,然后使用 jQuery 提供的便捷方法來創建 DOM 元素,并向其中添加一個文本節點。最后,將這個 DOM 元素添加到無序列表中。圖 4 使用模擬數據顯示了這個列表的樣子。


圖 4. 列表視圖

要創建您的列表,使用一些基本的 jQuery 代碼來從服務器檢索數據,然后創建一些標準 HTML 元素(以及一個引用 jQTouch 樣式的 HTML 框架),這也是創建上述 UI 所必需的。如果您在一個移動設備上測試它,您將注意到它的加載速度很快而且屏幕滾動很流暢。現在看看您如何創建一個表格來顯示同樣的數據。

  回到清單 3 ,注意您的表格頁面類似于列表頁面。它有一個類似的工具欄,只有一個額外按鈕。(不久您就會看到這個按鈕的功能。)它也有一個綱要表格 — 即,有表頭但沒有數據。數據和列表中的一樣。您只需要為您的表格創建行即可,如 清單 5 所示。


清單 5. 創建表行

 

  1. function addEmployeeToTable(e){  
  2. var table = $("#eTable");  
  3. var tr = $("<tr>")  
  4. .append($("<td>").html(e.firstName + " " + e.lastName))  
  5. .append($("<td>").html(e.phone))  
  6. .append($("<td>").html(e.email));  
  7. table.append(tr);  
  8. }  

  清單 5 中的代碼類似清單 4 中的。您可以依賴 jQuery 的便捷方法來創建 HTML DOM 元素,然后一起添加。注意,便利的附加函數允許您使用一個構建器模式來快速創建表行,其中有 3 個單元格。圖 5 使用模擬數據顯示了表格的樣子。


圖 5. 表格視圖

清單 5 顯示了預期的用戶界面。您可以使用標準 CSS 使這個表格更漂亮。您可能會注意到在頂部工具欄的右端有一個加號(+)按鈕?;氐角鍐?3 ,注意到這個鏈接連接到另一個名為 New 的頁面,也注意一下這鏈接上的類是按鈕翻轉。這將再次創建一個本機外觀按鈕,起鏈接到新頁面的作用。該類的翻轉指明 jQTouch 應該使用一個翻轉轉換。這是一個專有 WebKit CSS 3D 動畫,目前僅在 iPhone 中支持,是 jQTouch 易于利用的 2D 和 3D 動畫其中的一種。當您點擊加號按鈕時,將顯示一個用于創建新員工表單的頁面。清單 6 顯示了該頁面的代碼。


清單 6. 新員工對話框

  1. <div id="new"> 
  2. <div class="toolbar"> 
  3. <h1>Add Employeeh1> 
  4. <a class="button cancel" href="#">Cancela> 
  5. div> 
  6. <form id="addEmp" method="post"> 
  7. <ul> 
  8. <li><input type="text" placeholder="First Name" id="fn"   
  9. name="firstName" /> 
  10. li> 
  11. <li><input type="text" placeholder="Last Name" id="ln"   
  12. name="lastName" /> 
  13. li> 
  14. <li><input type="email" placeholder="Email"   
  15. autocapitalize="off" id="email" name="email" /> 
  16. li> 
  17. <li><input type="tel" placeholder="Phone" id="phone"   
  18. name="phone" /> 
  19. li>   
  20. ul> 
  21. <input type="submit" class="submit" value="Submit"/> 
  22. form> 
  23. div> 



清單 6 中的代碼是一個簡單的 HTML,工具欄是使用一個應用 toolbar 類的 div 創建的。此時,您有一個 Cancel 鏈接,是使用 button cancel 類設計的。當然 button 類是將這個鏈接放進一個按鈕中的。cancel 類會使鏈接返回到之前的頁面,類似于 back 類。然而,和 back 類有所不同,它將自動使用與轉換到該頁面效果相反的效果。

  有了工具欄之后,您就有一個封裝在無序列表之內的簡單 HTML 表單。您可能會注意到一些不同尋常的事。首先,所有字段都使用占位符屬性,這是一個 HTML5 特性,因此會一直顯示占位符文本,直至該字段獲得焦點。這可以方便地替換對標簽的使用,特別是當一個移動屏幕非常小的時候。注意電子郵件輸入框有一個設置 為 false 的 autocapitalize 屬性。這是另一個 iPhone 特有的特性,通知瀏覽器臨時禁用輸入該框的文本的 OS 級自動大寫。同時我們還注意到,郵件和電話輸入類型都是不尋常的(email 和 tel),這是在 iPhone 和 Android 瀏覽器上都支持的一個特性,當焦點集中在輸入字段時,通知瀏覽器彈出不同的鍵盤。圖 6 顯示了每個字段的樣子。

#p#

 


圖 6. Android 和 iPhone 瀏覽器,焦點在 tel 和 email 輸入框

最后一點值得注意的是,清單 6 中的表單是 Submit 按鈕,注意它的類是 submit。這是另一個使按鈕(至少在 iPhone 上)更具吸引力的 jQTouch 類。清單 7 顯示了當表單提交后,如何使用 jQTouch 建立一個事件處理程序。


清單 7. 處理表單提交

  1. $(document).ready(function(){  
  2. // Ajax call can be found in Listing 2  
  3. $("#addEmp").submit(function(){  
  4. var e = {  
  5. firstName : $("#fn")[0].value,  
  6. lastName : $("#ln")[0].value,  
  7. email : $("#email")[0].value,  
  8. phone : $("#phone")[0].value  
  9. };  
  10. addEmployee(e);  
  11. jQT.goBack();  
  12. return false;  
  13. });  
  14. }); 


注意,這是您在清單 2 中所見到的初始化代碼的一部分。在這里您使用另一個 jQuery 選擇器來獲取表單(清單 6 中顯示的)的一個引用。jQuery 提供一種簡便的方法來劫持表單的 submit 事件。再一次傳遞一個閉包來處理該事件。在閉包中,創建一個 JavaScript employee 對象,但是從表單中檢索值。然后使用您在清單 2 中看到的 addEmployee 函數來將新員工信息添加到列表和記錄視圖中。接著,使用一個 jQTouch 函數 goBack。 其工作方式類似于您之前看到的 Cancel 按鈕,轉回到上一頁。最后,返回 false 來阻止表單提交。顯然,該代碼只能將員工信息添加到本機屏幕。您可以想像一個可將員工信息添加到共享數據庫的服務端 API,而且您可以使用 jQuery 卓越的 Ajax 和表單功能來將數據序列化,然后發送回服務器。這樣,在樣例應用程序中就完成了所有功能?,F在,您已經使用 jQTouch 構建了一個移動 web 應用程序,看看其結果如何。

  使用 jQTouch 的移動 web 應用程序

  盡管 jQTouch 框架可能是 jQuery 之上的一個簡單插件,它的確通過接受核心 web 技術以及使開發更為容易擴展了 jQuery 框架的理念。它添加大量移動優化的用戶界面元素,使您可以輕松地將簡單的 CSS 樣式應用于 HTML,并獲取較為成熟的結果。此外,這些主題和特性(比如頁面轉換)也為應用程序帶來了一種原生感覺。

  提到處理應用程序邏輯,jQTouch 不像其他架構那樣試圖提取出工作流。相反地,它依賴功能強大的 jQuery 工具使得表單處理、Ajax、頁面轉換這類任務變得更為容易。如果您是一名經驗豐富的、且習慣于使用 web 應用程序的 web 開發人員 — 使用 web 功能強大的 HTML、JavaScript 和 CSS 組合— 那么,jQTouch 也會非常適合您。您可以快速生成具有吸引力、易于使用的移動 web 應用程序。然而,如果您想采用一個更結構化的方法,那么您將不得不自己添加結構。這極大地改變了通常由一個開發團隊來處理的巨大且復雜的應用程序。此 外,jQTouch 不改變創建 web 應用程序所涉及到的標準工作流 — 它只是試圖讓每個工作流步驟更容易。其他框架進一步提取大量步驟,并使用較少的樣板文件提供一個更有邏輯的工作流。

  最后,另一個 jQuery 項目值得一提。這個項目就是 jQuery Mobile 項目(見 參考資料), 恰如其名。和 jQTouch 不一樣,它不是一個插件;它和 jQTouch 一樣有很多共同的特性,但是它有更為遠大的目標。它的目標是提供更多 UI 小部件,并使它們可以跨平臺工作。例如,您構建的應用程序在 Android 手機上運行良好,但是很顯然它是用于 iPhone 的。jQuery Mobile 應用程序的設計目的是在 Androids 和 iPhones、以及其他平臺上都能良好運行。它不僅僅是一個 jQuery 插件;相反地,它從根本上是為移動電話構建的,轉換成更簡潔、更靈活的代碼:jQTouch 有 69 KB 的 JavaScript 和 8KB 的 CSS,而 jQuery Mobile 只有 12KB 的 JavaScript 和 6KB 的 CSS。寫這篇文章時,發布的是該項目的第一個 α 版本,顯然還是比較粗糙。然而,如果您對 jQTouch 很感興趣,及時了解 jQuery Mobile 的最新信息。

  結束語

  本文證實了可以應用您的 web 開發技巧來構建一個移動應用程序,只需 jQTouch 提供少量幫助。對于很多開發人員來說,這可能是進行移動開發最直接的方法。如果您是一名 web 開發人員,可能早對 jQuery 有過了解,這使得 jQTouch 更具吸引力。深入挖掘卓越的 jQTouch 文檔并探究它的更多的特性。這使得您可以在移動 web 應用程序中更加輕松地使用 iPhone 和 Android 瀏覽器上可用的很多高級 HTML5 功能。

  下載源碼:intradir-jqtouch.zip
文章出處:IBM developerWorks

責任編輯:佚名 來源: oschina
相關推薦

2011-12-20 20:44:36

移動應用

2023-09-21 08:00:00

ChatGPT編程工具

2012-12-11 14:59:31

移動視頻通話

2017-02-28 09:40:16

移動支付

2011-03-30 10:48:15

移動社交應用移動消息社交網絡

2013-09-22 11:19:06

云平臺移動游戲

2011-09-07 09:50:54

2013-05-13 09:31:29

Web App開發WebApp

2009-10-19 14:14:19

OSGi Web應用

2014-07-01 15:02:30

移動理財應用金融

2015-10-29 09:35:12

BAT趨勢數據

2011-04-19 09:18:44

2024-01-29 19:33:21

增強分析數據分析

2012-05-14 17:35:28

移動Web

2015-08-19 13:50:31

容聯云通訊

2013-08-28 14:32:19

移動電商

2010-07-12 10:11:27

ibmdwWeb

2013-02-25 14:20:14

企業級移動應用移動互聯網

2013-01-17 10:09:50

JavaSpring

2021-08-11 18:23:08

數據平臺IT
點贊
收藏

51CTO技術棧公眾號

国产盗摄一区二区三区| 成人婷婷网色偷偷亚洲男人的天堂| 亚洲精品乱码久久久久久久久 | 亚洲综合成人网| 国产精品18毛片一区二区| 欧美毛片在线观看| 成人性生交大片免费看96| 色哟哟一区二区在线观看| 亚洲国产精品123| 免费观看黄色一级视频| 日本91福利区| 欧美极度另类性三渗透| 少妇无套高潮一二三区| 亚洲精品在线a| 欧洲精品中文字幕| 国产精品专区在线| 久久久久国产精品夜夜夜夜夜| 日韩精品久久久久久久软件91| 精品日本美女福利在线观看| 在线一区高清| 青青草手机在线| 老司机午夜精品99久久| 91精品国产777在线观看| 日本免费网站视频| 亚洲+变态+欧美+另类+精品| 欧美一级欧美一级在线播放| 男人透女人免费视频| 日本孕妇大胆孕交无码| 国产精品美女久久久久高潮| 久久久7777| 亚洲av无码片一区二区三区| 美女爽到高潮91| 日韩美女中文字幕| 国产一级淫片a| 欧美一区二区三区另类| 日韩性xxxx爱| 欧美黄色激情视频| 神马香蕉久久| 日韩av综合网| 亚洲啪av永久无码精品放毛片 | 色婷婷综合视频在线观看| 欧美a级免费视频| 国产剧情在线| 中文字幕制服丝袜成人av| 日韩精品不卡| 国产一区二区影视| 91蜜桃在线免费视频| 91视频婷婷| 精品久久国产视频| 韩国一区二区三区| 国产日韩精品在线播放| 波多野结衣在线观看一区| 蜜乳av另类精品一区二区| 久久免费观看视频| 国产精久久久久久| 亚洲一级一区| 91福利视频网| jizz国产在线观看| 久久裸体视频| 国产精品大陆在线观看| 在线永久看片免费的视频| 久久精品毛片| 国产999精品久久久影片官网| 日韩熟女一区二区| 日韩中文字幕区一区有砖一区| 欧美中文在线观看国产| 香蕉污视频在线观看| 日本麻豆一区二区三区视频| 国产精品久久网| 一区二区日韩在线观看| 国产精品原创巨作av| 国产精品免费一区二区三区在线观看| 黄色一级大片在线免费看国产一| 成人在线视频一区| 久久99欧美| 国产在线网站| 亚洲色图欧美激情| 国产一二三在线视频| 日本三级一区| 欧美日韩一区二区三区四区| 国产福利精品一区二区三区| 最新国产一区二区| 亚洲精品美女久久| 亚洲色成人网站www永久四虎| 日韩片欧美片| 久久久久久久久久久久久久久久久久av | 台湾佬综合网| 日韩一区二区福利| 久久久香蕉视频| 日日夜夜免费精品| 亚洲a在线观看| 天天综合天天色| 国产精品久久久久影院| 欧美极品少妇无套实战| 亚洲精品一区| 91精品久久久久久蜜臀| 亚洲熟女一区二区| 欧美一区二区麻豆红桃视频| 欧美精品激情在线观看| 中文字幕丰满人伦在线| 国产**成人网毛片九色 | 国产精品色婷婷视频| 精品国自产在线观看| 久久精品欧美一区二区三区麻豆| 狠狠噜天天噜日日噜| 在线一区av| 欧美mv日韩mv国产| 亚洲色图欧美色| 亚洲欧洲一区| 91深夜福利视频| 精品亚洲成a人片在线观看| 亚洲视频在线观看一区| 日韩免费毛片视频| 最新国产一区二区| 日韩中文字幕网站| 国产一级淫片a视频免费观看| 国产成人综合在线播放| 性刺激综合网| 免费成人直播| 亚洲精品www久久久| 亚洲最大的黄色网址| 亚洲免费网站| 成人在线观看av| 黄色动漫在线| 欧美日韩国产一级二级| 中文字幕国产综合| 亚洲人体偷拍| caoporen国产精品| 欧美jizz18性欧美| 91成人国产精品| 欧美 日本 国产| av成人国产| 国产成人一区二区三区免费看| 成人福利在线观看视频| 欧美日韩一区二区三区四区| 熟女少妇内射日韩亚洲| 国产欧美一区二区色老头| 国产精品亚洲综合| 色女人在线视频| 欧美一区二区三区视频| 少妇视频一区二区| 久久精品国产99| 天天综合色天天综合色hd| 欧美日韩123区| 亚洲精品在线视频| 欧美激情黑白配| 91麻豆免费视频| 成人观看免费完整观看| 神马午夜久久| 日韩免费不卡av| 国产中文在线视频| 欧美午夜精品久久久久久孕妇| av网站免费在线看| 日本网站在线观看一区二区三区| 日本在线视频不卡| 写真福利精品福利在线观看| 亚洲欧洲中文天堂| а中文在线天堂| 国产精品理论片在线观看| 五月天婷婷亚洲| 亚洲最新av| 官网99热精品| 色偷偷色偷偷色偷偷在线视频| 日韩av在线不卡| 国产精品suv一区| 欧美国产综合一区二区| 91亚洲免费视频| 国产98在线| 久久国产精品高清一区二区三区| 国产91精品对白在线播放| 欧美激情精品久久久久久大尺度| www国产一区| 亚洲一区二区三区四区不卡| 99久久免费看精品国产一区| 少妇无码一区二区三区| 国产精品久99| 肉丝美足丝袜一区二区三区四| 精品1区2区3区4区| 欧美福利精品| 欧洲美女精品免费观看视频| 欧美成人精品激情在线观看| 香港三日本三级少妇66| 在线视频欧美精品| 四虎精品免费视频| 成人污污视频在线观看| 国产精品无码av在线播放| 精品一区二区三区在线| 亚洲va欧美va国产综合剧情| 鲁鲁在线中文| 最新91在线视频| 隣の若妻さん波多野结衣| 色国产精品一区在线观看| 欧产日产国产v| 久久午夜羞羞影院免费观看| 久久综合在线观看| 男女av一区三区二区色多| 国产精品波多野结衣| 日韩精品社区| 亚洲在线观看视频| 欧美xxx性| 欧美精品videosex牲欧美| 国产精品免费观看| 日韩欧美aaaaaa| 亚洲免费视频二区| 亚洲成人动漫一区| 久艹在线观看视频| 久久综合色综合88| 国产男女无遮挡猛进猛出| 久久久久久一区二区| 国产片侵犯亲女视频播放| 久久成人综合| 欧美日韩喷水| 成人免费在线电影网| 成人久久一区二区三区| 自拍偷拍欧美视频| 久久男人资源视频| 国产不卡在线| 一区二区三区四区在线观看视频| 丰满肥臀噗嗤啊x99av| 欧美绝品在线观看成人午夜影视| 日日夜夜操视频| 红桃av永久久久| 麻豆一区二区三区精品视频| 亚洲欧洲中文日韩久久av乱码| 亚洲综合欧美综合| 久久你懂得1024| 国产一级二级在线观看| 丁香六月综合激情| 亚洲女人在线观看| 精品在线观看视频| 五月天av在线播放| 久久精品国产网站| 日日噜噜噜噜久久久精品毛片| 蜜桃视频一区| 日韩精品免费播放| 久久久久.com| 色一情一乱一伦一区二区三区日本| 国产日韩欧美一区在线 | 无码人妻精品一区二区蜜桃网站| 牛牛影视久久网| 国产女主播一区二区| 一区二区网站| 国产成人免费观看| 成人高潮视频| 久久66热这里只有精品| 精品三级在线观看视频| 国产欧美日韩综合一区在线观看| 538任你躁精品视频网免费| 99精品国产高清在线观看| 免费观看性欧美大片无片| 91亚色免费| 澳门久久精品| 精品久久久久久一区二区里番| 欧美日韩破处| 日韩福利一区二区三区| 成人aaaa| 超碰成人在线免费观看| 欧美+亚洲+精品+三区| 黄色特一级视频| 亚洲国产午夜| 欧美亚洲一二三区| 久久久久国产精品一区三寸| www.com操| 国产精品白丝jk黑袜喷水| xxxx视频在线观看| 99久久综合国产精品| 国产激情在线免费观看| 中文字幕欧美日韩一区| 亚洲一级二级片| 一区二区三区不卡视频| 日本在线播放视频| 欧美午夜精品一区| 国产高清免费在线观看| 日韩精品久久久久| av一区在线观看| 久久av在线播放| 黄色漫画在线免费看| 国产精品久久久久久久app| 日本成人一区二区| 波多野结衣久草一区| 亚洲免费成人av在线| 国产高清免费在线| 野花国产精品入口| 亚洲国产日韩欧美在线观看| 国产精品一二三| 久久久久久国产精品无码| 亚洲色图视频免费播放| 久久国产视频播放| 欧美日韩国产免费| 国产刺激高潮av| 中文欧美日本在线资源| www.综合网.com| 国产免费一区二区三区在线能观看| 日韩免费高清视频网站| 日本电影一区二区三区| 欧美日本三区| 亚洲天堂av线| av网站免费线看精品| 免费成人美女女在线观看| 亚洲网友自拍偷拍| 亚洲视频在线免费播放| 亚洲精品国偷自产在线99热| 九色porny在线| 热久久这里只有| 在线综合色站| 国产系列第一页| 久久夜色精品| 国产精品久久久久久亚洲av| 国产精品对白交换视频| 五月婷婷激情视频| 亚洲成成品网站| av片哪里在线观看| 国产精品日韩在线一区| 偷拍自拍亚洲色图| 少妇久久久久久被弄到高潮| 美女www一区二区| 在线国产视频一区| 精品久久久久久久久久久| 99热在线只有精品| 在线成人一区二区| 中文字幕色婷婷在线视频| 高清国语自产拍免费一区二区三区| 四季av一区二区三区免费观看 | 蜜臀va亚洲va欧美va天堂| 欧美bbbbb性bbbbb视频| 亚洲最大成人网4388xx| 97成人免费视频| 中文字幕亚洲精品| 久久久一本精品| 欧美精品在线一区| 99视频在线精品国自产拍免费观看| 亚洲AV无码久久精品国产一区| 亚洲欧洲www| 影音先锋黄色网址| 中文欧美日本在线资源| 成人视屏在线观看| 日韩激情视频| 日韩精品国产精品| 人妻aⅴ无码一区二区三区| 日韩欧美主播在线| 日韩大胆视频| 国产99在线|中文| 精品av一区二区| 国产视频一区二区三区在线播放 | 亚洲美女炮图| 久久er99热精品一区二区三区| 日韩视频二区| 女~淫辱の触手3d动漫| 欧美性猛交xxxx免费看漫画| 青青青草网站免费视频在线观看| 欧美孕妇性xx| 国产欧美高清视频在线| 手机在线免费观看毛片| 国产精品无圣光一区二区| 伊人免费在线观看| 久久精品久久久久久国产 免费| 久久99成人| 日韩黄色短视频| 97久久超碰国产精品| 国产99久久久| 日韩中文娱乐网| 欧美a在线观看| 777av视频| 久久久久久久久久久久久女国产乱| 蜜臀99久久精品久久久久小说| 中文字幕国产日韩| va天堂va亚洲va影视| 日本五级黄色片| 久久亚洲精品国产精品紫薇| 亚洲无码精品在线观看| 欧美大码xxxx| 亚洲黄页网站| 亚洲一级片网站| 亚洲激情第一区| 男同在线观看| 成人黄色大片在线免费观看| 在线成人h网| av男人的天堂av| 日韩三级在线免费观看| 色多多在线观看| 懂色av一区二区三区四区五区| 成人午夜精品一区二区三区| 日批视频免费在线观看| 久久综合免费视频| 天堂99x99es久久精品免费| 免费一区二区三区在线观看| 一区二区三区在线影院| 美女欧美视频在线观看免费| 3d精品h动漫啪啪一区二区| 西西裸体人体做爰大胆久久久| 亚洲欧洲综合网| 日韩精品视频免费| www.成人| 无码少妇一区二区三区芒果| 一区二区三区波多野结衣在线观看| 国产三级在线观看| 国产精品乱子乱xxxx| 久久66热偷产精品| 国产无人区码熟妇毛片多| 久久国产精品久久国产精品|