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

初學者使用Application Cache指南

開發 前端
對于web app來說,離線應用功能已經越來越重要。誠然,瀏覽器本身就有緩存機制,但是,這些緩存機制不夠可靠,可能并不會按你所想要的方式運行。HTML5則通過ApplicationCache接口處理了離線應用中的一些問題。

 對于web app來說,離線應用功能已經越來越重要。誠然,瀏覽器本身就有緩存機制,但是,這些緩存機制不夠可靠,可能并不會按你所想要的方式運行。HTML5則通過ApplicationCache接口處理了離線應用中的一些問題。

使用這個接口讓你的應用擁有三方面的優勢:

◆ 離線瀏覽——用戶在不能聯網的時候依然能瀏覽整個站點

◆ 高速——緩存資源是存儲在本地的,因此能更快加載。

◆ 更小的服務器負載——瀏覽器只需要從服務器端下載有改變的資源即可,相同資源不需要重復下載。

Application Cache(或 AppCache)讓一個開發者可以指定瀏覽器需要保存哪個文件。當用戶在離線情況下時,即使他們按了刷新按鈕,你的應用也能正確加載和工作。

CACHE MANIFEST 文件

cache manifest文件是一個簡單的文本文件,其中列出了瀏覽器需要緩存的資源。

引用一個MANIFEST文件

為了讓一個應用能啟用application cache,需要在文檔的html標簽中包含manifest屬性,如下所示:

  1. <html manifest=”example.appcache”> 
  2.    … 
  3.  </html> 

你需要在你想要緩存的web app的每一頁中都包含 manifest 屬性。如果一個頁面沒有 manifest屬性,它將不會被緩存(除非在manifest文件中顯式指定了這個頁面)。這意味著只要用戶訪問的頁面包含manifest屬性,它都將會被加入application cache中。這樣,就不用在manifest文件中指定需要緩存哪些頁面了。

Manifest屬性可以指定一個絕對URL或是一個相對路徑,但是,一個絕對URL需要和web app是同源的。一個manifest文件可以是任何擴展文件類型,但必須有正確的mime-type。如下所示:

  1. <html manifest=”http://www.example.com/example.mf”> 
  2.   … 
  3. </html> 

一個manifest文件需要正確的mime-type,即text/cache-manifest。你可以在你的web服務器中加入一個定制文件類型(a custom file type),或者加入一個 .htaccess 配置。

例如,為了在Apache中能夠解析這種mime-type,可以在你的配置文件中加入如下代碼:

  1. AddType text/cache-manifest .appcache 

或者,如果你的應用是在Google App Engine中,那么在app.yaml文件中加入代碼:

  1. - url: /mystaticdir/(.*\.appcache) 
  2.   static_files: mystaticdir/\1 
  3.   mime_type: text/cache-manifest 
  4.   upload: mystaticdir/(.*\.appcache) 

MANIFEST FILE的結構

一個簡單的manifest文件看起來可能是下面這樣的:

CACHE MANIFEST

index.html

stylesheet.css

images/logo.png

scripts/main.js

這個示例將會緩存指定使用這個manifest的頁面中的四個文件。

有幾點是需要注意的:

◆ 必須在***行包括 CACHE MANIFEST 字符串。

◆ 站點所能緩存的數據上限是5MB 。但是,如果你是在為Chrome Web Store做開發的話,你可以使用unlimitedStorage 來去除這個限制。

◆ 如果manifest文件或者是其中指定的某個資源下載失敗的話,整個cache的更新都會失敗。在這種情況下,瀏覽器將會使用老的application cache。

下面來看一個更復雜的例子:

  1. CACHE MANIFEST 
  2. # 2010-06-18:v2 
  3. # Explicitly cached ‘master entries’. 
  4. CACHE: 
  5. /favicon.ico 
  6. index.html 
  7. stylesheet.css 
  8. images/logo.png 
  9. scripts/main.js 
  10. # Resources that require the user to be online. 
  11. NETWORK: 
  12. login.php 
  13. /myapi 
  14. http://api.twitter.com 
  15. # static.html will be served if main.py is inaccessible 
  16. # offline.jpg will be served in place of all images in images/large/ 
  17. # offline.html will be served in place of all other .html files 
  18. FALLBACK: 
  19. /main.py /static.html 
  20. images/large/ images/offline.jpg 
  21. *.html /offline.html 

以“#”開頭的都是注釋,這些注釋還可以起到另外的作用。一個應用只有在manifest文件發生變化時才會更新cache。例如,如果你編輯了圖像或是改寫了一個Javascript函數,cache并不會發生更新。你必須改寫manifest文件本身來通知瀏覽器需要更新cache文件了。通過在manifest文件中添加一行注釋,在其中寫上版本號,或者文件hash值,或者時間戳,你都可以確保用戶擁有你的軟件的***版本。如果有新版本出現,你同樣可以以編程的方式更新cache,就跟在Updating the cache 中所討論的那樣。

一個manifest文件可能包括三個部分:CACHE, NETWORK 以及 FALLBACK.

CACHE:

這是默認部分,列在這個條目下的文件(或者緊跟在CACHE MANIFEST字符串之后的)都會在***次被下載后進入cache。

NETWORK:

這一部分中所列出的資源都是需要聯網使用的資源。它們都不會進入cache中,即使用戶處于離線狀態。這部分可能會使用Wildcards。

FALLBACK:

可選部分,指定了如果資源獲取失敗,將會呈現怎樣的頁面。***個URL是資源,第二個就是fallback頁面。兩個URL都必須是相對地址,并且由同一個manifest文件指定。可以使用Wildcards。

注意:這三部分可以以任何順序在manifest文件中出現,并且每部分都可以在一個manifest文件中出現多次。

下面的manifest文件定義了一個“catch-all”頁面(offline.html),這個頁面將會在用戶試圖離線訪問網站根節點時顯示。它還指明了需要聯網使用的其他資源(如遠程站點上的資源)。

  1. CACHE MANIFEST 
  2. # 2010-06-18:v3 
  3. # Explicitly cached entries 
  4. index.html 
  5. css/style.css 
  6. # offline.html will be displayed if the user is offline 
  7. FALLBACK: 
  8. / /offline.html 
  9. # All other resources (e.g. sites) require the user to be online. 
  10. NETWORK: 
  11. # Additional resources to cache 
  12. CACHE: 
  13. images/logo1.png 
  14. images/logo2.png 
  15. images/logo3.png 

注意:引用了你的manifest文件的HTML文件都會自動被緩存,因此,沒有必要在你的manifest文件中再指定這個文件,但是,在manifest文件中指定這個文件是一種更好的做法。

注意:頁面上基于SSL的HTTP cache headers以及caching restrictions都會被cache manifests重寫。因此,基于https的頁面也能離線工作。

更新緩存(CACHE)

如果一個應用是在離線情況下,那么它會保持它的緩存狀態,除非有以下事件發生:

◆ 用戶清除了瀏覽器中存儲有你的站點的數據。

◆ manifest file 被修改了。注意:修改了在manifest文件中列出的某個文件并不會讓瀏覽器重新緩存資源。必須是manifest文件本身改變了,才會重新進行緩存。

◆ app cache通過編程更新了。

緩存狀態CACHE STATUS

在程序中,你可以通過window.applicationCache 對象來訪問瀏覽器的app cache。你可以查看 status 屬性來獲取cache的當前狀態:

  1. var appCache = window.applicationCache; 
  2. switch (appCache.status) { 
  3.   case appCache.UNCACHED: // UNCACHED == 0 
  4.     return ‘UNCACHED’; 
  5.     break; 
  6.   case appCache.IDLE: // IDLE == 1 
  7.  
  8.     return ‘IDLE’; 
  9.     break; 
  10.   case appCache.CHECKING: // CHECKING == 2 
  11.     return ‘CHECKING’; 
  12.     break; 
  13.  case appCache.DOWNLOADING: // DOWNLOADING == 3 
  14.     return ‘DOWNLOADING’; 
  15.     break; 
  16.   case appCache.UPDATEREADY:  // UPDATEREADY == 4 
  17.     return ‘UPDATEREADY’; 
  18.     break; 
  19.   case appCache.OBSOLETE: // OBSOLETE == 5 
  20.     return ‘OBSOLETE’; 
  21.     break; 
  22.   default: 
  23.     return ‘UKNOWN CACHE STATUS’; 
  24.     break; 
  25. }; 

為了通過編程更新cache,首先調用 applicationCache.update()。這將會試圖更新用戶的cache(要求manifest文件已經改變)。***,當 applicationCache.status 處于 UPDATEREADY 狀態時,調用applicationCache.swapCache(),舊的cache就會被置換成新的。

  1. var appCache = window.applicationCache; 
  2. appCache.update(); // Attempt to update the user’s cache. 
  3. … 
  4. if (appCache.status == window.applicationCache.UPDATEREADY) { 
  5.   appCache.swapCache();  // The fetch was successful, swap in the new cache. 

注意:像這樣使用 update()和swapCache()并不會將更新后的資源呈現給用戶。這僅僅是讓瀏覽器檢查manifest文件是否發生了更新,然后下載指定的更新內容,重新填充app cache。因此,要讓用戶看到更新后的內容,需要兩次頁面下載,一次是更新app cache,一次是更新頁面內容。

好消息是,你可以避免兩次頁面下載帶來的麻煩。為了讓用戶能看到你的站點的***版本,設置一個監聽器來監聽頁面加載時的updateready 事件。

  1. // Check if a new cache is available on page load. 
  2. window.addEventListener(‘load’, function(e) { 
  3.   window.applicationCache.addEventListener(‘updateready’, function(e) { 
  4.     if (window.applicationCache.status == window.applicationCache.UPDATEREADY) { 
  5.       // Browser downloaded a new app cache. 
  6.       // Swap it in and reload the page to get the new hotness. 
  7.       window.applicationCache.swapCache(); 
  8.       if (confirm(‘A new version of this site is available. Load it?’)) { 
  9.         window.location.reload(); 
  10.       } 
  11.     } else { 
  12.       // Manifest didn’t changed. Nothing new to server. 
  13.     } 
  14.   }, false); 
  15. }, false); 

APPCACHE事件(APPCACHE EVENTS)

也許你已經想到了,還有更多事件可以反映出cache的狀態。在諸如下載、app cache更新、出現錯誤等事件都會讓瀏覽器觸發相應事件。下面的代碼片段為每一類cache event都設置了監聽器:

  1. function handleCacheEvent(e) { 
  2.   //… 
  3. function handleCacheError(e) { 
  4.  alert(‘Error: Cache failed to update!’); 
  5. }; 
  6. // Fired after the first cache of the manifest. 
  7. appCache.addEventListener(‘cached’, handleCacheEvent, false); 
  8. // Checking for an update. Always the first event fired in the sequence. 
  9. appCache.addEventListener(‘checking’, handleCacheEvent, false); 
  10. // An update was found. The browser is fetching resources. 
  11. appCache.addEventListener(‘downloading’, handleCacheEvent, false); 
  12. // The manifest returns 404 or 410, the download failed, 
  13. // or the manifest changed while the download was in progress. 
  14. appCache.addEventListener(‘error’, handleCacheError, false); 
  15. // Fired after the first download of the manifest. 
  16. appCache.addEventListener(‘noupdate’, handleCacheEvent, false); 
  17. // Fired if the manifest file returns a 404 or 410. 
  18. // This results in the application cache being deleted. 
  19. appCache.addEventListener(‘obsolete’, handleCacheEvent, false); 
  20. // Fired for each resource listed in the manifest as it is being fetched. 
  21. appCache.addEventListener(‘progress’, handleCacheEvent, false); 
  22. // Fired when the manifest resources have been newly redownloaded. 
  23. appCache.addEventListener(‘updateready’, handleCacheEvent, false); 

如果manifest文件或者該文件中指定的某個資源下載失敗,那么整個更新都會失敗。在這種情況下,瀏覽器會繼續試用老的application cache。

原文鏈接:http://www.webapptrend.com/2012/03/2103.html

【編輯推薦】

  1. Google Web App開發指南之構建優秀的Web Apps
  2. Google Web App開發指南:交互設計
  3. Google Web App開發指南:什么是Web Apps?
  4. ***次為Window8開發Web Apps
  5. 討論了那么多,究竟什么是Web App?
責任編輯:陳貽新 來源: Web App Trend
相關推薦

2022-04-24 15:21:01

MarkdownHTML

2010-06-13 11:13:38

UML初學者指南

2022-07-22 13:14:57

TypeScript指南

2023-07-28 07:31:52

JavaScriptasyncawait

2021-05-10 08:50:32

網絡管理網絡網絡性能

2023-07-03 15:05:07

預測分析大數據

2022-03-28 09:52:42

JavaScript語言

2022-09-05 15:36:39

Linux日志記錄syslogd

2023-02-10 08:37:28

2022-10-10 15:28:45

負載均衡

2014-04-01 10:20:00

開源Rails

2023-02-19 15:31:09

架構軟件開發代碼

2020-08-16 13:10:46

TensorFlow深度學習數據集

2024-04-28 10:56:34

Next.jsWeb應用搜索引擎優化

2013-04-08 16:35:52

Adobe Edge

2010-08-26 15:47:09

vsftpd安裝

2018-10-28 16:14:55

Reactreact.js前端

2013-03-06 10:40:58

Adobe Edge HTML5

2011-03-02 10:57:27

vsFTPd

2021-09-08 12:29:21

物聯網IOT
點贊
收藏

51CTO技術棧公眾號

国产丝袜一区| 国产一二三区在线观看| 美女黄色成人网| 亚洲欧洲高清在线| 中文字幕av专区| 在线观看h网| 91香蕉视频污在线| 国产欧美日韩精品在线观看| 麻豆疯狂做受xxxx高潮视频| 羞羞色国产精品网站| 欧美日韩免费观看一区二区三区| 综合视频在线观看| 天天操天天操天天干| 青青草国产精品97视觉盛宴| 欧美激情亚洲综合一区| av女人的天堂| 一区中文字幕| 欧美日韩情趣电影| ww国产内射精品后入国产| jizzjizz在线观看| 成人午夜激情在线| 成人黄色影片在线| 国内自拍视频在线播放| 国产字幕视频一区二区| 色七七影院综合| 97人妻精品一区二区三区免费| 日本欧美韩国| 精品国产电影一区| 成人免费在线视频播放| 91九色在线porn| 91视频com| 成人免费视频网站入口| 亚洲最新av网站| 亚洲在线免费| 国语自产精品视频在线看| wwwww黄色| 亚洲图区在线| 日韩经典第一页| 日本中文字幕有码| 日韩精品一级毛片在线播放| 91精品福利在线| 鲁一鲁一鲁一鲁一澡| 亚洲小说区图片| 国产精品久久久久天堂| 欧美日韩亚洲免费| 香港一级纯黄大片| av爱爱亚洲一区| 国产精品日韩欧美一区二区| 亚洲av无码一区二区三区dv | 久久久91精品国产| 日韩一区二区a片免费观看| 欧亚精品一区| 日韩成人在线免费观看| 秘密基地免费观看完整版中文| 日本精品在线播放| 欧美一区二区三区视频免费| mm131国产精品| 国产香蕉久久| 日本高清不卡一区| 熟女人妇 成熟妇女系列视频| 中文字幕影音在线| 色婷婷精品大在线视频| 日韩毛片在线免费看| 亚洲1234区| 91黄视频在线| 伊人影院综合在线| 免费精品一区二区三区在线观看| 欧美一区永久视频免费观看| 少妇欧美激情一区二区三区| 亚洲日本一区二区三区在线| 精品福利在线导航| 99久久人妻精品免费二区| 农村少妇一区二区三区四区五区 | 日韩精品电影| 久久精品成人欧美大片| 欧美爱爱小视频| 亚洲精品欧洲| 国产成人精品综合久久久| 中文字幕免费观看视频| 国产精品一区在线| 国产亚洲精品久久飘花| 久蕉依人在线视频| 国产精品女主播在线观看| 午夜探花在线观看| av影视在线| 一本到一区二区三区| 国产精品久久久毛片| 国产麻豆精品| 亚洲精品久久久久久久久久久久| 国产激情在线免费观看| 欧美gvvideo网站| 久久男人资源视频| 亚洲午夜无码久久久久| 国产精品综合在线视频| 精品欧美国产| 日韩黄色影院| 亚洲国产视频直播| 天天爽人人爽夜夜爽| 一区二区三区四区精品视频| 精品中文视频在线| 日韩三级久久久| 亚洲国产午夜| 国产日本欧美一区二区三区| 黄频在线免费观看| 亚洲国产精品二十页| 欧美性猛交内射兽交老熟妇| 三级成人黄色影院| 日韩欧美一区二区免费| 久久精品—区二区三区舞蹈 | 黄色片视频在线免费观看| 国产人妖一区| 亚洲欧美日韩天堂一区二区| 中文字幕另类日韩欧美亚洲嫩草| 免播放器亚洲| av在线亚洲男人的天堂| 97电影在线观看| 午夜av电影一区| 国产精品久久久久久9999| 一区二区美女| 韩国精品久久久999| 国产精品视频在线观看免费| 久久日一线二线三线suv| 亚洲乱码日产精品bd在线观看| 88xx成人网| 亚洲美女av在线| 国产精品美女毛片真酒店| 国产麻豆午夜三级精品| 亚洲综合欧美日韩| 台湾佬成人网| 亚洲另类图片色| 日本免费观看视| 国产精品一区二区在线看| 亚洲一区在线直播| 秋霞国产精品| 亚洲日韩欧美视频| www.国产色| 91在线一区二区三区| 国产中文字幕乱人伦在线观看| 婷婷丁香久久| xxxxx成人.com| 精品国产www| 久久久久久久久99精品| 777久久久精品一区二区三区| av不卡一区二区| 欧美日韩国产二区| 国内老熟妇对白hdxxxx| 亚洲日本一区二区三区| 亚洲妇熟xx妇色黄蜜桃| 99精品在线免费在线观看| 国产剧情久久久久久| 国产福利在线观看| 色妹子一区二区| 中文字幕 自拍| 日韩中文字幕区一区有砖一区| 鲁丝片一区二区三区| 中文字幕21页在线看| 亚洲视频777| 成人黄色三级视频| 中文字幕巨乱亚洲| 999久久久精品视频| 小说区亚洲自拍另类图片专区| 国产精品自拍小视频| 老司机精品视频在线观看6| 欧美一区二区观看视频| 久久久久久国产精品免费播放| 成人看片黄a免费看在线| 欧美视频在线观看网站| 亚洲精品3区| 国产精品色视频| 国产在线更新| 亚洲白虎美女被爆操| 国产成人免费看| 国产欧美1区2区3区| 中文字幕日韩综合| 欧美日韩亚洲一区在线观看| 国产日韩在线一区二区三区| 欧美色网一区| 色偷偷88888欧美精品久久久| a级片在线播放| 精品久久久中文| 人妻互换一区二区激情偷拍| 国产精品一区二区三区四区| 夫妻免费无码v看片| 久久香蕉国产| 国产精品v欧美精品v日韩| 色偷偷偷在线视频播放| 综合136福利视频在线| 亚洲AV无码精品色毛片浪潮| 欧美性少妇18aaaa视频| 成人在线观看高清| 91丨九色丨国产丨porny| www.超碰97.com| 99av国产精品欲麻豆| 亚洲制服欧美久久| 国产劲爆久久| 国产在线播放91| bbw在线视频| 久久九九国产精品怡红院 | 五月婷婷六月婷婷| 亚洲免费观看高清完整| 日本丰满少妇裸体自慰| 久久99蜜桃精品| 丝袜老师办公室里做好紧好爽| 99热精品久久| 你懂的网址一区二区三区| 久久视频社区| 国产精品麻豆va在线播放| 成人超碰在线| 久久在线观看视频| 国产中文在线视频| 精品国产精品一区二区夜夜嗨| 中文字幕人妻互换av久久| 亚洲成av人综合在线观看| 韩国一级黄色录像| 久久亚洲一区二区三区四区| 少妇性l交大片7724com| 天堂蜜桃一区二区三区| 99在线观看视频免费| 天堂美国久久| 日韩国产精品一区二区| 欧美变态网站| 97免费资源站| 国产精品一区免费在线| 国产精品视频男人的天堂| 厕沟全景美女厕沟精品| 国内偷自视频区视频综合| 99在线播放| 久久精品国产亚洲| fc2在线中文字幕| 精品亚洲男同gayvideo网站| 日本xxxx人| 亚洲国产婷婷香蕉久久久久久| 性生交大片免费看女人按摩| 91精品久久久久久久久99蜜臂| 中文字幕乱伦视频| 在线中文字幕一区二区| 亚洲精品成人在线视频| 狠狠久久亚洲欧美专区| 日韩三级视频在线| 亚洲成av人片| 黄色小视频在线免费看| 一区二区日韩av| 久久久久久久久久99| 一区二区三区高清不卡| www.99re7| 一区二区三区中文字幕在线观看| 久久精品亚洲a| 国产精品乱子久久久久| 免费看的黄色录像| 亚洲国产精品黑人久久久| 一级片黄色录像| 国产精品家庭影院| 在线观看黄网址| 亚洲图片激情小说| 欧美卡一卡二卡三| 一区二区国产盗摄色噜噜| 青草草在线视频| 午夜激情一区二区三区| 九九热精品视频在线| 色94色欧美sute亚洲线路一久| 中国a一片一级一片| 欧美精品色一区二区三区| 国产人妻精品一区二区三| 777xxx欧美| 亚洲第一天堂影院| 日韩成人av在线播放| 久久久久久久久亚洲精品| 伊是香蕉大人久久| 黄色在线视频网站| 欧美激情视频一区二区三区不卡| www.综合| 国产成人精品免高潮费视频| 久久精品嫩草影院| 亚洲曰本av电影| 欧美调教视频| 图片区小说区区亚洲五月| 中文无码久久精品| 成人午夜精品久久久久久久蜜臀| 久久一区二区三区超碰国产精品| 手机看片福利日韩| 国产乱码精品一区二区三区av| 亚洲麻豆一区二区三区| 国产亚洲欧美激情| 极品盗摄国产盗摄合集| 日韩欧美国产一区二区| 中文字幕精品一区二| 日韩美女视频在线| 韩国三级av在线免费观看| 免费不卡欧美自拍视频| 亚洲人成午夜免电影费观看| 国产一区私人高清影院| 精品人人人人| 樱花www成人免费视频| 国产精品日韩久久久| 亚洲一区二区在线视频观看| www.欧美日韩国产在线| 蜜桃视频最新网址| 精品久久久久国产| 97人妻精品一区二区三区视频| 亚洲国产日韩欧美在线动漫| 黄色在线播放网站| 日本午夜精品理论片a级appf发布| 祥仔av免费一区二区三区四区| 精品不卡在线| 亚洲精品国产首次亮相| 人妻内射一区二区在线视频 | 调教视频免费在线观看| 午夜精品久久久久久久99热浪潮 | 欧美电影一区二区| 青青草手机在线| 色综合久久88| 激情久久一区二区| 久久青青草综合| 狠狠色综合网| 91大神免费观看| 中国av一区二区三区| 国产69精品久久久久久久久久| 欧美一区二区三区的| 成人av毛片| 琪琪亚洲精品午夜在线| 亚洲精品a区| 国产在线拍揄自揄拍无码| 视频一区视频二区中文字幕| 99久久免费看精品国产一区| 一区二区三区美女| 国产精品福利电影| 尤物精品国产第一福利三区| 国模冰冰炮一区二区| 精品中文字幕一区| 激情欧美一区| 美女被爆操网站| 亚洲精品国产无天堂网2021 | 在线观看国产一区| 日韩电影一区二区三区| 日本黄色特级片| 欧美色视频日本版| 成人乱码一区二区三区 | 亚洲承认视频| 美乳视频一区二区| 香蕉久久a毛片| 中文字幕在线观看的网站| 精品色蜜蜜精品视频在线观看| 欧美一级特黄aaaaaa大片在线观看| 久久91精品国产91久久久| 久久av偷拍| 福利在线一区二区| 国产.精品.日韩.另类.中文.在线.播放 | 精品人妻一区二区三区潮喷在线 | 扒开jk护士狂揉免费| 日韩欧美精品中文字幕| 黄网在线免费| 国产精品久久久久久av下载红粉| 欧美日韩xxxx| 中文字幕国内自拍| 国产精品国产精品国产专区不蜜| 在线视频你懂得| 欧美精品在线看| 澳门久久精品| 5月婷婷6月丁香| 国产日产欧美一区| 亚洲一区二区三区高清视频| 久久精品久久久久久| 免费观看性欧美大片无片| 国产美女在线一区| 久久亚洲精品国产精品紫薇| 超碰在线97观看| 色狠狠av一区二区三区香蕉蜜桃| 亚洲精品成a人ⅴ香蕉片| av影院在线播放| 91在线视频在线| 中文字幕欧美在线观看| 久久成人18免费网站| 精品视频自拍| 熟女少妇精品一区二区| 成人欧美一区二区三区1314| 亚洲精品国产片| 国产精品a久久久久久| 91精品国产福利在线观看麻豆| 丰满少妇xbxb毛片日本| 91黄色免费看| 羞羞电影在线观看www| 久久精品国产第一区二区三区最新章节| 久久久精品性| 免费网站看av| 亚洲天堂网在线观看| 欧美影院在线| 国产免费视频传媒| 亚洲另类在线制服丝袜| 日韩一二三四| 91久久精品日日躁夜夜躁国产| 亚洲国产免费看| 国产精品成人69xxx免费视频| 亚洲精品mp4| 成人在线视频www| 欧美日韩在线一| 亚洲欧美电影一区二区| 欧美在线一卡| 高清视频在线观看一区| 青娱乐精品视频| 免费观看一区二区三区毛片|