国产精品亚洲专区在线观看,亚洲人成电影在在线观看网色,最新精品亚洲成a人在线观看http://www.tkk7.com/tmpbuf/WWW World, Jack's Worldzh-cnSat, 12 Jul 2025 12:50:55 GMTSat, 12 Jul 2025 12:50:55 GMT60搞了個(gè)CGIC的系列“教程”http://www.tkk7.com/tmpbuf/archive/2007/10/25/155872.htmlJack LJack LThu, 25 Oct 2007 07:00:00 GMThttp://www.tkk7.com/tmpbuf/archive/2007/10/25/155872.htmlhttp://www.tkk7.com/tmpbuf/comments/155872.htmlhttp://www.tkk7.com/tmpbuf/archive/2007/10/25/155872.html#Feedback0http://www.tkk7.com/tmpbuf/comments/commentRss/155872.htmlhttp://www.tkk7.com/tmpbuf/services/trackbacks/155872.htmlhttp://webdn.trueself.cn/archives/107  閱讀全文

Jack L 2007-10-25 15:00 發(fā)表評(píng)論
]]>
關(guān)于使用JavaScript解析XML的問(wèn)題http://www.tkk7.com/tmpbuf/archive/2007/10/01/150007.htmlJack LJack LSun, 30 Sep 2007 19:15:00 GMThttp://www.tkk7.com/tmpbuf/archive/2007/10/01/150007.htmlhttp://www.tkk7.com/tmpbuf/comments/150007.htmlhttp://www.tkk7.com/tmpbuf/archive/2007/10/01/150007.html#Feedback1http://www.tkk7.com/tmpbuf/comments/commentRss/150007.htmlhttp://www.tkk7.com/tmpbuf/services/trackbacks/150007.html 1)
首先我有一個(gè)疑惑,網(wǎng)上都在講如何從一個(gè)url載入一個(gè)xml文檔,然后變成一個(gè)xmlDocument,但是能不能把一個(gè)字符串轉(zhuǎn)化成一個(gè)xmlDocument呢?該如何操作呢?
2)
然后就是從網(wǎng)絡(luò)載入xmlDocument的話,文件名的后綴一定要是xml才行。我在FireFox里面試過(guò),把文件名的后綴xml去掉,程序就傻了。不光是用load方法如此,用XMLHttpRequest去獲取文件也是如此。如果我使用動(dòng)態(tài)服務(wù)端技術(shù)的話,比如JSP/PHP,服務(wù)端的url顯然不會(huì)是“.xml”結(jié)尾,那么我又該怎樣處理,才能使從服務(wù)端傳回來(lái)的XML格式的數(shù)據(jù)在瀏覽器里變成xmlDocument對(duì)象呢?


Jack L 2007-10-01 03:15 發(fā)表評(píng)論
]]>
強(qiáng)烈推薦!專業(yè)的Web開發(fā)者網(wǎng)絡(luò): webdn.trueself.cnhttp://www.tkk7.com/tmpbuf/archive/2007/09/30/149718.htmlJack LJack LSat, 29 Sep 2007 17:20:00 GMThttp://www.tkk7.com/tmpbuf/archive/2007/09/30/149718.htmlhttp://www.tkk7.com/tmpbuf/comments/149718.htmlhttp://www.tkk7.com/tmpbuf/archive/2007/09/30/149718.html#Feedback0http://www.tkk7.com/tmpbuf/comments/commentRss/149718.htmlhttp://www.tkk7.com/tmpbuf/services/trackbacks/149718.html http://webdn.trueself.cn

看到這個(gè)題目,自己都很肉麻。但這是有原因的。首先聲明一下,webdn.trueself.cn只是我的個(gè)人網(wǎng)站而已。在注冊(cè)域名的時(shí)候,覺(jué)得trueself這個(gè)名字很好,又沒(méi)有被注冊(cè),就買下來(lái)了。

然后開始想該放點(diǎn)什么東西,想來(lái)想去,決定還是做自己熟悉的技術(shù)型blog。由于自己在Web2.0方面有一些經(jīng)驗(yàn),于是一拍腦袋,想出了WebDN(其含義為Web Developer Network)這個(gè)名字,作為二級(jí)域名。

搞了兩天,突然想用百度看看自己被檢索沒(méi)有,這是才發(fā)現(xiàn),原來(lái)WebDN這個(gè)一級(jí)域名被注冊(cè)了。挺好的,我一點(diǎn)沒(méi)有眼紅。說(shuō)明WebDN這個(gè)名字不錯(cuò)嘛。

慢慢地,用百度搜索WebDN,我的網(wǎng)站出現(xiàn)在了第一頁(yè),排第五。那叫一個(gè)開心啊。

不過(guò)幾天之后,也就是兩三天之前,我被惡心了。那個(gè)WebDN不知是不是做了SEO,現(xiàn)在用百度搜索WebDN,出現(xiàn)一堆文章,而文章的標(biāo)題是他們的域名。想想都知道,哪有正常人把域名當(dāng)作標(biāo)題??我的博客正在被這樣一些垃圾文章掩沒(méi)。

想想奇怪,我一個(gè)小小的博客他們都要搞? 也許我猜錯(cuò)了。不過(guò)今天我也嘗試一把SEO,看看把域名放在標(biāo)題里有啥效果沒(méi)。



Jack L 2007-09-30 01:20 發(fā)表評(píng)論
]]>
Java中的++操作http://www.tkk7.com/tmpbuf/archive/2007/09/20/146814.htmlJack LJack LThu, 20 Sep 2007 08:50:00 GMThttp://www.tkk7.com/tmpbuf/archive/2007/09/20/146814.htmlhttp://www.tkk7.com/tmpbuf/comments/146814.htmlhttp://www.tkk7.com/tmpbuf/archive/2007/09/20/146814.html#Feedback20http://www.tkk7.com/tmpbuf/comments/commentRss/146814.htmlhttp://www.tkk7.com/tmpbuf/services/trackbacks/146814.htmlhttp://webdn.trueself.cn/archives/7  閱讀全文

Jack L 2007-09-20 16:50 發(fā)表評(píng)論
]]>
JavaScript中容易犯的大小寫問(wèn)題http://www.tkk7.com/tmpbuf/archive/2007/09/17/146011.htmlJack LJack LMon, 17 Sep 2007 15:35:00 GMThttp://www.tkk7.com/tmpbuf/archive/2007/09/17/146011.htmlhttp://www.tkk7.com/tmpbuf/comments/146011.htmlhttp://www.tkk7.com/tmpbuf/archive/2007/09/17/146011.html#Feedback0http://www.tkk7.com/tmpbuf/comments/commentRss/146011.htmlhttp://www.tkk7.com/tmpbuf/services/trackbacks/146011.html 在HTML可以用大寫或小寫甚至是大小寫夾雜表達(dá)的地方,在JavaScript中卻要多加留意。
比如onclick事件,在JavaScript中一定要全部用小寫
看代碼:
 1 <html>
 2 <head>
 3     <title>JSTest</title>
 4 </head>
 5 <body>
 6     <input type="button" id="btn1" value="btn1" ONClick="alert('hello, this is btn1');"></input>
 7     <input type="button" id="btn2" value="btn2"></input>
 8     <script type="text/javascript" charset="utf-8">
 9         var ele=document.getElementById("btn2");
10         ele.onclick=function(){alert('hello, this is btn2');}
11     </script>
12 </body>
13 </html>
很明顯,第6行,在HTML中引用onclick與第10行在JavaScript中引用onclick事件是不同的。
你可以把第6行"onclick"中的任何一個(gè)或若干字母寫成大寫或小寫都沒(méi)有關(guān)系,但是第10行中的onclick必須全部是小寫。



Jack L 2007-09-17 23:35 發(fā)表評(píng)論
]]>
使用CGIC實(shí)現(xiàn)Web文件上傳的服務(wù)端代碼http://www.tkk7.com/tmpbuf/archive/2007/08/30/141501.htmlJack LJack LThu, 30 Aug 2007 12:39:00 GMThttp://www.tkk7.com/tmpbuf/archive/2007/08/30/141501.htmlhttp://www.tkk7.com/tmpbuf/comments/141501.htmlhttp://www.tkk7.com/tmpbuf/archive/2007/08/30/141501.html#Feedback4http://www.tkk7.com/tmpbuf/comments/commentRss/141501.htmlhttp://www.tkk7.com/tmpbuf/services/trackbacks/141501.html      用C語(yǔ)言編寫cgi程序的話,CGIC是非常流行的庫(kù),官方頁(yè)面及下載地址為:www.boutell.com/cgic/#obtain
      不少網(wǎng)站都有文件上傳的功能,本文展示如何用CGIC庫(kù)編寫文件上傳的服務(wù)端程序,最后給出一段簡(jiǎn)單的HTML代碼,供大家測(cè)試使用。
//upload.c
#include<stdio.h>
#include
<string.h>
#include
<unistd.h>
#include
<fcntl.h>
#include
<sys/stat.h>
#include
"cgic.h"
#define BufferLen 1024
int cgiMain(void){
    cgiFilePtr file;
    
int    targetFile;
    mode_t    mode;
    
char name[128];
    
char fileNameOnServer[64];
    
char contentType[1024];
    
char buffer[BufferLen];
    
char *tmpStr=NULL;
    
int size;
    
int got,t;
    cgiHeaderContentType(
"text/html");
    
//取得html頁(yè)面中file元素的值,應(yīng)該是文件在客戶機(jī)上的路徑名
    if (cgiFormFileName("file", name, sizeof(name)) !=cgiFormSuccess) {
        fprintf(stderr,
"could not retrieve filename\n");
        
goto FAIL;
    } 
    cgiFormFileSize(
"file"&size);
    //取得文件類型,不過(guò)本例中并未使用
    cgiFormFileContentType("file", contentType, sizeof(contentType));
   
//目前文件存在于系統(tǒng)臨時(shí)文件夾中,通常為/tmp,通過(guò)該命令打開臨時(shí)文件。臨時(shí)文件的名字與用戶文件的名字不同,所以不能通過(guò)路徑/tmp/userfilename的方式獲得文件
    if (cgiFormFileOpen("file"&file) != cgiFormSuccess) {
        fprintf(stderr,
"could not open the file\n");
        
goto FAIL;
    }
    t
=-1;
    
//從路徑名解析出用戶文件名
    while(1){
        tmpStr
=strstr(name+t+1,"\\");
        
if(NULL==tmpStr)
            tmpStr
=strstr(name+t+1,"/");//if "\\" is not path separator, try "/"
        if(NULL!=tmpStr)
            t
=(int)(tmpStr-name);
        
else
            
break;
    }
    strcpy(fileNameOnServer,name
+t+1);
    mode
=S_IRWXU|S_IRGRP|S_IROTH;    
    
//在當(dāng)前目錄下建立新的文件,第一個(gè)參數(shù)實(shí)際上是路徑名,此處的含義是在cgi程序所在的目錄(當(dāng)前目錄))建立新文件    
    targetFile=open(fileNameOnServer,O_RDWR|O_CREAT|O_TRUNC|O_APPEND,mode);
    
if(targetFile<0){
        fprintf(stderr,
"could not create the new file,%s\n",fileNameOnServer);
        
goto    FAIL;
    }
   
//從系統(tǒng)臨時(shí)文件中讀出文件內(nèi)容,并放到剛創(chuàng)建的目標(biāo)文件中
    while (cgiFormFileRead(file, buffer, BufferLen, &got) ==cgiFormSuccess){
        
if(got>0)
            write(targetFile,buffer,got);    
    }
    cgiFormFileClose(file);
    close(targetFile);
    
goto    END;
FAIL:
    fprintf(stderr,
"Failed to upload");
    
return 1;
END:    
    printf(
"File \"%s\" has been uploaded",fileNameOnServer);
    
return 0;
}
      假設(shè)該文件存儲(chǔ)為upload.c,則使用如下命令編輯:
gcc -Wall upload.c cgic.c -o upload.cgi
      編譯完成后把upload.cgi復(fù)制到你部署cgi程序的目錄(通常命名為cgi-bin)。
      正式部署時(shí),請(qǐng)務(wù)必修改用open創(chuàng)建新文件那一行代碼。把open的第一個(gè)參數(shù)設(shè)置為目標(biāo)文件在服務(wù)器上存儲(chǔ)的絕對(duì)路徑,或者相對(duì)于cgi程序的相對(duì)路徑。本例中,出于簡(jiǎn)單考慮,在cgi程序所在目錄下創(chuàng)建新文件。


      測(cè)試用HTML代碼: upload.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd"
>
<html>
<head>
    
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    
<title>Test Upload</title>
    
<meta name="author" content="Jack">
    
<!-- Date: 2007-08-30 -->
</head>
<body>
<form action="cgi-bin/upload.cgi" method="post" enctype="multipart/form-data" target="_blank">
    
<input type="file" name="file" value="" />
    
<input type="submit" name="submit" value="OK">
</form>
</body>
</html>
      最后的文件目錄結(jié)構(gòu)為
      /MyWebRoot
      |---/upload.html
      |---/cgi-bin
      |------/upload.cgi

      當(dāng)然,你必須配置能夠cgi-bin,并且程序要有權(quán)限在cgi-bin目錄下創(chuàng)建文件(因?yàn)榇死盐募蟼鞯絚gi-bin目錄下)。


      那么如何控制上傳文件的大小呢?因?yàn)槟阌袝r(shí)會(huì)不允許用戶上傳太大的文件。
      通過(guò)分析cgic.c的源代碼,我們發(fā)現(xiàn)它定義了一個(gè)變量cgiContentLength,表示請(qǐng)求的長(zhǎng)度。但我們需要首先判斷這是一個(gè)上傳文件的請(qǐng)求,然后才能根據(jù)cgiContentLength來(lái)檢查用戶是否要上傳一個(gè)太大的文件。
      cgic.c的main函數(shù)中進(jìn)行了一系列if-else判斷來(lái)檢查請(qǐng)求的類型,首先確定這是一個(gè)post請(qǐng)求,然后確定數(shù)據(jù)的編碼方式為 "multipart/form-data",這個(gè)判斷通過(guò)之后,就要開始準(zhǔn)備接收數(shù)據(jù)了。所以我們要在接收數(shù)據(jù)開始之前使用 cgiContentLength判斷大小,如果超過(guò)標(biāo)準(zhǔn),就立即返回,不允許繼續(xù)操作。
      下面貼出修改后代碼片段(直接修改cgic.c的源代碼即可):
else if (cgiStrEqNc(cgiContentType, "multipart/form-data")) {
#ifdef CGICDEBUG
            CGICDEBUGSTART
            fprintf(dout, 
"Calling PostMultipartInput\n");
            CGICDEBUGEND    
#endif /* CGICDEBUG */
            
//我的代碼
            
//UpSize:文件長(zhǎng)度上限值,以byte為單位,UpSize是一個(gè)int變量,因?yàn)閏giContentLength的類型為int
            if(cgiContentLength>UpSize){ 
                cgiHeaderContentType(
"text/html");
                printf("File too large!\n");
                cgiFreeResources();
                
return -1;
            }
            
//我的代碼結(jié)束
            if (cgiParsePostMultipartInput() != cgiParseSuccess) {
#ifdef CGICDEBUG
                CGICDEBUGSTART
                fprintf(dout, 
"PostMultipartInput failed\n");
                CGICDEBUGEND    
#endif /* CGICDEBUG */
                cgiFreeResources();
                
return -1;
            }    
#ifdef CGICDEBUG
            CGICDEBUGSTART
            fprintf(dout, 
"PostMultipartInput succeeded\n");
            CGICDEBUGEND    
#endif /* CGICDEBUG */
        }
    }
      變量UpSize表示文件大小的上限。在cgic.c的main中找到相關(guān)代碼,并修改成上面這樣即可。你可以在cgic.c中定義UpSize,也可以在剛才完成的upload.c中定義,然后在cgic.c中用extern方式引用。

support my English blog: http://www.phacai.com/how-to-implement-file-upload-with-cgic


Jack L 2007-08-30 20:39 發(fā)表評(píng)論
]]>
GWT1.4中,PopupPanel的顯示與布局http://www.tkk7.com/tmpbuf/archive/2007/08/29/140999.htmlJack LJack LWed, 29 Aug 2007 09:51:00 GMThttp://www.tkk7.com/tmpbuf/archive/2007/08/29/140999.htmlhttp://www.tkk7.com/tmpbuf/comments/140999.htmlhttp://www.tkk7.com/tmpbuf/archive/2007/08/29/140999.html#Feedback1http://www.tkk7.com/tmpbuf/comments/commentRss/140999.htmlhttp://www.tkk7.com/tmpbuf/services/trackbacks/140999.html        在老版GWT中,PopupPanel有兩個(gè)構(gòu)造函數(shù):
            public PopupPanel();
            public PopupPanel(boolean autoHide);
        實(shí)例化我們的PopupPanel之后,可以設(shè)置顯示的位置,然后調(diào)用show()顯示。但是這樣只能得到一個(gè)模態(tài)(modal)Panel,只要它處于可見(isVisible()返回true)狀態(tài),我們的頁(yè)面就不能進(jìn)行任何操作(除了已經(jīng)運(yùn)行起來(lái)的JS代碼,像發(fā)送Ajax請(qǐng)求這樣的后臺(tái)操作),相當(dāng)與整個(gè)Web應(yīng)用因?yàn)?/SPAN>顯示該P(yáng)anel而進(jìn)入了暫停狀態(tài)。
        由于PopupPanel可以根據(jù)位置參數(shù)出現(xiàn)在頁(yè)面任何地方,所以很適合于實(shí)現(xiàn)諸如頁(yè)面角落上的提示框(比如在頁(yè)面右上角顯示“loading...”)等類似的小功能。但是這樣的提示框不能暫停瀏覽器的運(yùn)行,所以應(yīng)該是一個(gè)非模態(tài)(non-modal)的Panel。于是我們通過(guò)一種方式來(lái)繞過(guò)沒(méi)有適當(dāng)構(gòu)造函數(shù)的限制:
        使用RootPanel.get().add(myPanel);來(lái)取代myPanel.show();
        這樣就得到了一個(gè)非模態(tài)的Panel。

        在新的GWT1.4中,PopupPanel有三個(gè)構(gòu)造函數(shù):
            public PopupPanel();
            public PopupPanel(boolean autoHide);
            public PopupPanel(boolean autoHide, boolean modal);
        我們看到,我們可以通過(guò)構(gòu)造函數(shù)指定是否需要一個(gè)模態(tài)Panel。如果我們使用第三個(gè)構(gòu)造函數(shù),而且把第二個(gè)參數(shù)設(shè)置為false的話,當(dāng)我們對(duì)該P(yáng)opupPanel實(shí)例調(diào)用show()方法的時(shí)候,就會(huì)得到一個(gè)非模態(tài)的Panel。
        但是,如果我們還要用RootPanel.get().add(myPanel)的話,瀏覽器將忽略我們?cè)O(shè)置的寬度,和彈出位置等信息,把myPanel添加到頁(yè)面最下方一個(gè)元素的下面,而且其寬度與瀏覽器客戶區(qū)的寬度相同。總之,絕不是你想要的結(jié)果。

        下面給出一個(gè)在頁(yè)面右上角實(shí)現(xiàn)消息提示框的方法。
 1 private final PopupPanel infoB=new PopupPanel(false,false);//no auto-hide, non-modal popup
 2 public void infoBoard(String info){
 3          if(infoB!=null)
 4              infoB.hide();    
 5          Label lb=new Label(info);
 6          infoB.setWidget(lb);
 7          infoB.show();
 8          int width=infoB.getOffsetWidth();
 9          infoB.hide();
10         int clientWidth=Window.getClientWidth();
11         infoB.setPopupPosition(clientWidth-width, 0);
12         infoB.show();
13 }
        基本思路是,先設(shè)置要顯示的消息(info),然后因?yàn)槭窃谟疑辖秋@示,所以要取得消息框的寬度(width),并取得瀏覽器客戶區(qū)的寬度(clientWidth),計(jì)算(clientWidth-width)就得到了消息框的x坐標(biāo)(準(zhǔn)確地說(shuō)是左上角那一點(diǎn)的x坐標(biāo))。
        7~9的代碼好像很奇怪,但只有這樣才能取得消息框的寬度。當(dāng)PopupPanel處于不可見狀態(tài)時(shí),調(diào)用getOffsetWidth()必將返回0。因?yàn)闉g覽器不知道寬度。原因如下:
        你的PopupPanel可能會(huì)被CSS修飾,可能通過(guò)百分比設(shè)置了寬度,也可能設(shè)置了邊框等屬性,所以無(wú)法得知到底占用了多少個(gè)像素的寬度。只有處于可見狀態(tài)時(shí)才能得到其寬度。


]]>
GWT 1.4 stable 上線http://www.tkk7.com/tmpbuf/archive/2007/08/29/140809.htmlJack LJack LWed, 29 Aug 2007 03:00:00 GMThttp://www.tkk7.com/tmpbuf/archive/2007/08/29/140809.htmlhttp://www.tkk7.com/tmpbuf/comments/140809.htmlhttp://www.tkk7.com/tmpbuf/archive/2007/08/29/140809.html#Feedback0http://www.tkk7.com/tmpbuf/comments/commentRss/140809.htmlhttp://www.tkk7.com/tmpbuf/services/trackbacks/140809.html1.4 RC已經(jīng)升級(jí)為正式發(fā)行版了,上線時(shí)間差不多為今天的北京時(shí)間4:00 am

http://code.google.com/webtoolkit/

這是論壇里的發(fā)布通知:

http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/e691e4059b3f991e



Jack L 2007-08-29 11:00 發(fā)表評(píng)論
]]>
關(guān)于Namespace, YUI和Dojo對(duì)此問(wèn)題的異同http://www.tkk7.com/tmpbuf/archive/2007/08/28/140602.htmlJack LJack LTue, 28 Aug 2007 11:10:00 GMThttp://www.tkk7.com/tmpbuf/archive/2007/08/28/140602.htmlhttp://www.tkk7.com/tmpbuf/comments/140602.htmlhttp://www.tkk7.com/tmpbuf/archive/2007/08/28/140602.html#Feedback0http://www.tkk7.com/tmpbuf/comments/commentRss/140602.htmlhttp://www.tkk7.com/tmpbuf/services/trackbacks/140602.htmlYUI和Dojo的widget都必須存在于自己的名字空間內(nèi),這些名字空間是預(yù)先建立好的。 那么,如果我們要建立自己的名字空間怎么辦呢?(產(chǎn)生這種需求的原因通常是,我們要管理難以管理的JavaScript代碼。)


在YUI中:

 執(zhí)行

1. YAHOO.namespace ("myspace");

 然后你就擁有了YAHOO.myspace這個(gè)名字空間,可以進(jìn)行類似如下的操作:

2. YAHOO.myspace.alertHello=function() {alert("Hello");}

實(shí)質(zhì)上,YUI.namespace相當(dāng)于建立了一個(gè)表項(xiàng),準(zhǔn)確地說(shuō)是相聯(lián)數(shù)組(associative array)的一項(xiàng)。 我們可以用以下兩句代替上面的1、2語(yǔ)句

1)YAHOO["myspace"]=new function(){};

2)YAHOO["myspace"].alertHello=function(){ alert("Hello");};

而且1、2與1)、2)可以交叉組合使用。

 不管你使用哪種方式創(chuàng)建自己的名字空間,都有兩種方式調(diào)用alertHello

a. YAHOO["myspace"].alertHello();

b. YAHOO.myspace.alertHello();


在Dojo中:

使用方式參考:dojo_custom-namespace

Dojo.require()提供了更強(qiáng)大的名字空間管理工具:Dojo用module來(lái)對(duì)應(yīng)名字空間的含義。 我尚為對(duì)其相關(guān)函數(shù)的原理進(jìn)行深入研究,也沒(méi)有尋找等價(jià)的使用方式。

 但是,注意手冊(cè)中這句話:“First of all, you'll want to create a directory structure ...”。也就是說(shuō),Dojo的module一定要對(duì)應(yīng)一個(gè)js文件。

所以dojo.require機(jī)制不是為了創(chuàng)建只存在于邏輯上的名字空間。 dojo.require一定會(huì)去下載相應(yīng)的js文件,參考dojo 0.9的手冊(cè): dojo-require




Jack L 2007-08-28 19:10 發(fā)表評(píng)論
]]>
主站蜘蛛池模板: 一级女人18片毛片免费视频| 免费看美女被靠到爽| 处破痛哭A√18成年片免费| 亚洲AV美女一区二区三区| 国产又黄又爽胸又大免费视频 | 久久免费国产视频| 久久亚洲AV无码西西人体| 国产亚洲精品精品精品| 免费爱爱的视频太爽了| 狠狠躁狠狠爱免费视频无码| 狠狠色婷婷狠狠狠亚洲综合 | 全免费一级午夜毛片| 久久99精品免费一区二区| 亚洲大香伊人蕉在人依线| 91精品啪在线观看国产线免费| 亚洲va中文字幕无码久久不卡| 久久国产免费一区| 国产精品久久亚洲一区二区| 伊人久久综在合线亚洲2019| 7723日本高清完整版免费| 亚洲国产成人久久综合一区| 在线观看成人免费视频不卡| 男女猛烈无遮掩视频免费软件| 亚洲AV伊人久久青青草原| 草久免费在线观看网站| 亚洲综合色自拍一区| 久久免费观看国产精品| 日韩毛片免费一二三| 中文字幕在线观看亚洲日韩| 无人在线观看免费高清视频| 亚洲码欧美码一区二区三区| 亚洲精品视频免费观看| 免费日本一区二区| 亚洲人成777在线播放| 亚洲综合伊人久久综合| 免费萌白酱国产一区二区| 免费无码又爽又刺激一高潮| 亚洲精品人成电影网| 日本免费电影一区| 爽爽爽爽爽爽爽成人免费观看| 亚洲黄色中文字幕|