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

一区二区日韩| 在线观看免费视频你懂的| 免费一级欧美片在线播放| 亚洲美女激情视频| 57pao国产成永久免费视频| а√资源新版在线天堂| 成人国产亚洲欧美成人综合网| 日本视频久久久| 国产天堂av在线| 日本国产精品| 欧美一二三区精品| 妺妺窝人体色www在线观看| 色呦呦在线看| 国产精品视频免费看| 国产成人免费电影| 国产女优在线播放| 在线播放日韩| 俺也去精品视频在线观看| 五十路六十路七十路熟婆| 亚洲精品伊人| 欧美综合在线视频| 黄色大片中文字幕| 国产在线二区| 国产精品免费视频一区| 精品免费国产| 成人h动漫精品一区二区无码| 日日夜夜一区二区| 97在线看福利| 久久久久久久久久久久久久久久久| 欧美热在线视频精品999| 精品少妇一区二区三区免费观看| 三上悠亚在线一区二区| 亚洲美女尤物影院| 亚洲国产婷婷综合在线精品| 国产成人精品免费看在线播放 | 国产美女视频一区| 国产精品va在线播放| 精品成人av一区二区在线播放| 一个色综合网| 日韩视频精品在线| 欧日韩不卡视频| 欧洲激情视频| 亚洲一区二区国产| 精品人妻无码一区二区三区 | 日韩av大全| 日本国产在线| 久久久夜色精品亚洲| 精品毛片久久久久久| 欧美视频在线观看一区二区三区| 国产美女在线观看一区| 亚洲一区二区三区视频播放| 91无套直看片红桃| 经典一区二区三区| 亚洲mm色国产网站| 国产不卡精品视频| 国产精品一区二区91| 96精品久久久久中文字幕| 国产人妖一区二区三区| 国内精品视频666| 91亚洲精品一区| 国产丰满美女做爰| 成人激情文学综合网| 国产精品一区二区a| 欧美一区二区公司| 91丨九色丨尤物| 日本午夜一区二区三区| av福利在线播放| 中文字幕一区二区三中文字幕 | 亚洲区第一页| 欧美中文字幕在线视频| 日本黄色一级视频| 美女一区二区三区| 亚洲sss综合天堂久久| 亚洲av无码国产精品久久不卡| 成人午夜在线视频| 久久99精品久久久久久水蜜桃| 嫩草在线播放| 亚洲欧美综合网| www.欧美黄色| av日韩电影| 欧美日韩一区二区三区免费看| www.51色.com| 另类尿喷潮videofree| 亚洲日韩中文字幕在线播放| 精品手机在线视频| 一区二区影院| 国产91精品黑色丝袜高跟鞋| 中文字幕第99页| 国产精品99久久久久久久vr| 久久艳妇乳肉豪妇荡乳av| 77导航福利在线| 亚洲综合色在线| 欧美韩国日本在线| 成人51免费| 亚洲深夜福利在线| 欧洲猛交xxxx乱大交3| 亚洲欧美日韩一区在线观看| 成人xvideos免费视频| 天天干视频在线| 中文字幕中文字幕中文字幕亚洲无线| 青草网在线观看| www.26天天久久天堂| 精品国产一二三区| 国产美女网站视频| 一本综合久久| 亚洲一区中文字幕| 福利在线午夜| 亚洲成人高清在线| 思思久久精品视频| 西瓜成人精品人成网站| 美女精品视频一区| 午夜久久久久久久久久影院| 国产成人免费网站| 亚洲欧美日韩精品久久久| 成人免费网站观看| 制服丝袜亚洲精品中文字幕| 一区二区精品免费| 在线看片日韩| 91亚洲永久免费精品| 国产香蕉视频在线看| 婷婷激情综合网| 日本女人黄色片| 国产精品久久久乱弄 | 伊人久久精品| 国产午夜精品一区二区三区| 日本一级一片免费视频| 国产成人精品三级麻豆| 一区二区三区四区免费视频| 久久爱91午夜羞羞| 日韩成人免费视频| 国产在线视频99| 国产高清一区日本| 日本丰满少妇黄大片在线观看| 精品日韩视频| 亚洲日韩第一页| 黄瓜视频在线免费观看| 94色蜜桃网一区二区三区| 97超碰国产精品| 亚洲综合网狠久久| 欧美美最猛性xxxxxx| www.色日本| 一区二区三区中文字幕精品精品 | 久久久综合网站| 热99这里只有精品| 国产精品一线| 国模叶桐国产精品一区| 你懂的网站在线| 午夜视频一区在线观看| 久久性爱视频网站| 夜夜爽av福利精品导航| 精品国产乱码久久久久久88av| 丁香花在线电影小说观看| 日韩欧美国产一区二区在线播放 | 日韩视频一区二区三区在线播放免费观看| 97视频中文字幕| a'aaa级片在线观看| 亚洲成人黄色网址| 国产情侣在线视频| 久久久三级国产网站| 任你操这里只有精品| 加勒比久久综合| 国产精品一区久久| 精品视频在线一区二区| 日韩欧美成人激情| 国产乡下妇女做爰| 久久久不卡网国产精品一区| 天堂社区在线视频| 亚洲欧美综合久久久| 成人av免费电影| 在线观看v片| 亚洲免费小视频| 一级片视频免费| 亚洲精品欧美激情| 女同性恋一区二区三区| 久久亚洲风情| 国产精品h视频| 黑色丝袜福利片av久久| 国产99久久精品一区二区永久免费| 国产二区在线播放| 日韩一区二区在线播放| 999这里只有精品| 亚洲国产成人自拍| 日本泡妞xxxx免费视频软件| 免费欧美日韩| 男女爱爱视频网站| 亚洲精品**不卡在线播he| 国产日韩精品视频| 麻豆视频在线看| 北条麻妃99精品青青久久| 日韩在线视频第一页| 欧美色中文字幕| 青娱乐国产精品| 国产午夜精品一区二区三区视频| 无套内谢丰满少妇中文字幕| 亚洲专区欧美专区| 中国 免费 av| 西野翔中文久久精品字幕| 亚洲精品日韩激情在线电影| 亚洲少妇视频| 色综合久久久888| 大片免费播放在线视频| 欧美成人女星排行榜| 久久国产香蕉视频| 亚洲电影激情视频网站| 中国美女黄色一级片| www.激情成人| 日本一本在线视频| 日本欧洲一区二区| 无码专区aaaaaa免费视频| 国产精品久久久久久久久久10秀| 久久一区二区三区av| 色播一区二区| 国产精品一香蕉国产线看观看| 成人bbav| 久久免费在线观看| 黄色精品在线观看| 曰本色欧美视频在线| 亚洲日本国产精品| 日韩免费视频一区二区| 92久久精品一区二区| 91福利精品第一导航| 日韩精品在线免费看| 亚洲精品老司机| 国产黄色录像片| 国产欧美日韩卡一| 色噜噜在线观看| 不卡一区二区在线| 国产精品无码自拍| 国产伦精一区二区三区| 国产九九热视频| 日本欧美在线看| av网站在线不卡| 日本在线不卡视频一二三区| 久久国产亚洲精品无码| 99热在线精品观看| r级无码视频在线观看| 中文在线日韩| 中国一级黄色录像 | 大荫蒂性生交片| 欧美激情精品久久久六区热门| 亚洲一区二区三区精品动漫| re久久精品视频| 亚洲精品一卡二卡三卡四卡| 国产成人三级| 亚洲国产精品日韩| 成人综合专区| 制服诱惑一区| 在线一区免费| 97超碰国产精品| 精品二区视频| av观看免费在线| 日韩精品乱码av一区二区| 虎白女粉嫩尤物福利视频| 视频一区欧美精品| 欧美性猛交xxx乱久交| 日韩1区2区日韩1区2区| 亚洲老女人av| 国产在线不卡一卡二卡三卡四卡| 初高中福利视频网站| 成人18视频日本| 精品夜夜澡人妻无码av| 久久欧美一区二区| 欧美亚洲色综久久精品国产| √…a在线天堂一区| a在线视频播放观看免费观看| 亚洲乱码中文字幕| 久久久全国免费视频| 五月天一区二区| 国产亚洲欧美日韩高清| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 成人两性免费视频| 亚洲日本va中文字幕| 国产精品一区二区三区不卡| 精品在线观看入口| 在线成人性视频| 亚洲无线一线二线三线区别av| 国产肥臀一区二区福利视频| 蜜乳av一区二区三区| 野花视频免费在线观看| 91蜜桃传媒精品久久久一区二区| 特级西西人体高清大胆| 亚洲精品国产视频| 美日韩一二三区| 欧美精品v国产精品v日韩精品| 蜜桃av噜噜一区二区三区麻豆| 亚洲欧美在线x视频| 九色porny丨首页在线| 91精品国产电影| 日韩一区二区三区四区五区| 国产欧美在线一区二区| 日韩精品首页| 免费成人在线视频网站| 韩国视频一区二区| 精品国产av色一区二区深夜久久 | 成人在线视频一区二区| 美女爆乳18禁www久久久久久 | 免费观看亚洲视频大全| 免费亚洲一区二区| 亚洲天堂一区二区三区四区| 成年人免费在线播放| 国产成人在线观看免费网站| www.av欧美| 亚洲不卡一区二区三区| 艳妇乳肉豪妇荡乳av| 日韩激情在线视频| 在线观看电影av| 国产精品视频精品| 精品欧美午夜寂寞影院| 性做爰过程免费播放| 免费人成精品欧美精品 | 日韩三区视频| 日本福利视频在线观看| 日本成人中文字幕| 六十路息与子猛烈交尾| 一区二区三区产品免费精品久久75| 波多野结衣小视频| 日韩精品免费在线视频| 少女频道在线观看免费播放电视剧| 国产精品视频在线播放| 日韩av中文字幕一区| 99久久免费观看| 国产一区二区电影| 久艹在线观看视频| 日本道免费精品一区二区三区| 香蕉视频免费在线看| 久久久久国产一区二区三区| 成人动漫视频在线观看| 在线观看精品视频| 日本少妇一区二区| 免费黄色片网站| 欧美亚洲一区三区| 美女毛片在线看| 日本在线精品视频| 亚洲品质自拍| 日韩欧美在线播放视频| 久久免费偷拍视频| 看片网址国产福利av中文字幕| 亚洲第一精品福利| 爱啪视频在线观看视频免费| 国内视频一区二区| 亚洲色诱最新| 三上悠亚ssⅰn939无码播放| 欧美午夜激情视频| 青青草娱乐在线| 国产99久久精品一区二区永久免费 | 成全电影大全在线观看| 成人久久18免费网站漫画| 欧美黄污视频| 欧美图片自拍偷拍| 亚洲午夜久久久久中文字幕久| 亚洲不卡免费视频| 欧美精品xxx| 任你躁在线精品免费| 欧美成人免费高清视频| 国产日韩三级在线| 中文字幕一区二区三区四区视频| 日韩中文字幕视频| 国产精品一站二站| 老子影院午夜伦不卡大全| 99视频热这里只有精品免费| 欧美videossex极品| 亚洲欧美成人在线| www.国产精品| 一级性生活视频| 成人美女视频在线观看18| 国产区一区二区三| 在线播放日韩专区| 日韩高清二区| 国产精品无码av在线播放| 91麻豆产精品久久久久久| aaa在线视频| xvideos亚洲| 精品福利一区| 中文字幕在线观看第三页| 亚洲视频一区二区在线| 亚洲精品无amm毛片| 奇米四色中文综合久久| 99视频精品全国免费| 手机免费看av片| 欧美丝袜丝nylons| 美女精品视频| 日本一区二区三不卡| 国产乱子伦视频一区二区三区| 黄色片视频网站| 日韩一区二区三区国产| 国产成人在线中文字幕| 五月婷婷狠狠操| 亚洲午夜久久久| 永久免费av片在线观看全网站| 99久热re在线精品996热视频 | 国产精品久久久av| 国内综合精品午夜久久资源| 四虎永久免费在线观看| 欧美一级xxx| 色综合一本到久久亚洲91| 久久久99精品视频| 久久久久国产精品免费免费搜索| 99国产精品久久久久99打野战| 欧美一级高清免费播放| 欧美黄在线观看|