久久亚洲精品成人_国产精品欧美综合亚洲_亚洲va天堂va欧美ⅴa在线_91色视频在线观看_久久影院亚洲_一级黄色片播放_日韩av在线一区_精品一区二区在线看_老头吃奶性行交视频_日韩免费高清视频_天天操天天爽天天干_日本欧美在线视频

首頁 > 編程 > HTA > 正文

超簡陋瀏覽器

2020-01-31 15:44:13
字體:
來源:轉載
供稿:網友
可是那些破站點讓人太郁悶了...不是彈出廣告,就是滿屏幕飄浮動廣告....氣死我了...

所以做了一個超簡陋的瀏覽器,把頁面中的 JS 基本上全禁掉了(禁用JS的正則不是很好,此外CSS里的沒禁掉,不過目前反正夠俺用就好了),順便把 iframe 也全部干掉

還可以自動記得上次瀏覽的頁面,打開就直接進入,看書的時候就不怕打斷了

因為超簡陋,所以連 表單也不支持,只支持鏈接,哈哈,看書倒是夠用了....

代碼中的 偽session 處理 和 俺自己封裝的 xmlhttp 值得一看


不能直接運行,保存到本地,另存為 HTA 使用,哈哈
復制代碼 代碼如下:

<head>
<title>Book Viewer</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<style>
body { margin:0px; padding:0px; overflow:auto; border-style:none; font-size:12px; background-color:buttonface; }
iframe { width:100%; border-style:none; position:absolute; top:25px; }

#i1 { height:22px; line-height:18px; width:100%; border:1px solid #666; margin:0px 2px; padding:0px 10px; }
</style>
<script>
strSessionName="bookviewer_lastURL";
lastURL="";
xp=new xmlhttp();

function checkMe(){
    if(i1.value!=lastURL){
        lastURL=i1.value;
        session_set(strSessionName,lastURL);
    }
    try{
        for(var i=0;i<f1.document.links.length;i++)f1.document.links[i].onclick=n0;
    }catch(e){}
    if(/book/.5seecn/i.test(lastURL))f1.document.body.onkeydown=chkKey;
}

function chkKey(){
    var allLinks;
    if(f1.event.keyCode==39){
        allLinks=f1.document.links;
        for(var i=0;i<allLinks.length;i++)if(/下一頁/.test(allLinks[i].innerHTML)){
            i1.value=allLinks[i].href; n2(); return;
        }
    }else if(f1.event.keyCode==37){
        allLinks=f1.document.links;
        for(var i=0;i<allLinks.length;i++)if(/上一頁/.test(allLinks[i].innerHTML)){
            i1.value=allLinks[i].href; n2(); return;
        }
    }
}

function init(){
    i1.onkeydown=function(){ if(event.keyCode==13)n2(); }
    resizeWin();
    i1.focus();
    i1.select();
    if(session_exists(strSessionName)){ i1.value=session_get(strSessionName); n2(); }
    setInterval(checkMe,200);
}

function resizeWin(){
    document.getElementById("f1").style.height=document.body.clientHeight-25;
}

function n0(){
    n1(this.href);
    return(false);
}

function n1(str){
    i1.value=str;
    n2();
}

function n2(){
    str=i1.value;
    if(i1=="")return;
    if(!/^http://///i.test(str))str="http://"+str;
    document.title="Book Viewer - Loading...";
    xp.open("get",str);
    xp.onreadystatechange=n22;
    xp.send("");
}

function n22(){
    var str;
    if(this.readyState==4){
        if(this.status==200){
            str=adodb_binary2string(this.getAttribute("responseBody"));
            str=str.replace(/<script[/s/S]+?//script>/gi,"").replace(/<iframe[/s/S]+?//iframe>/gi,"").replace(/on(load|mouseover|mouseout|mousemove|focus|blur|keydown|keyup|keypress|change|readystatechange|click|dblclick|mousewheel) *= */"[/s/S]+?/"/gi,"");
            f1.document.open();
            f1.document.write("<base href=/""+i1.value.substring(0,i1.value.lastIndexOf("/")+1)+"/" //>");
            try{
                f1.document.write(str);
            }catch(e){}
            f1.document.close();
            f1.document.body.focus();
            document.title="Book Viewer - Ready";
        }
    }
}

function cancelErr(){ return(true); }

html_encode=function(strV){
    return(strV.replace(/&/g,"&").replace(/"/g,""").replace(/ /g," ").replace(//t/g,"    ").replace(/</g,"<").replace(/>/g,">").replace(//r/n/g,"<br>"));
}

function adodb_binary2string(b){
    var adodbStream=new ActiveXObject("ADODB.Stream"); 
    adodbStream.Type=1;//1=adTypeBinary
    adodbStream.Open();
    adodbStream.write(b);
    adodbStream.position=0;
    adodbStream.Type=2;
    adodbStream.charset="_autodetect_all";
    var re=adodbStream.readText();
    adodbStream=null;
    return(re);
}

function session_delete(strName){
    var str, reg, expt, dt;
    if(!session_exists(strName))return;
    strName=escape(strName);
    strValue="";
    dt=new Date();
    dt.setYear(1980);
    expt=";expires="+dt.toGMTString()+";";
    str=strName+"="+strValue+expt;
    document.cookie=str;
}

function session_get(strName){
    var str, reg;
    str=document.cookie;
    strName=escape(strName);
    reg=new RegExp(strName+"=([^;]+)");
    if(!reg.test(str))return;
    return(unescape(str.match(reg)[1]));
}

function session_set(strName,strValue,blnExpireAfterClose){
    var str, reg, expt, dt;
    strName=escape(strName);
    strValue=escape(strValue);
    dt=new Date();
    dt.setYear(2099);
    expt=blnExpireAfterClose?"":";expires="+dt.toGMTString()+";";
    str=strName+"="+strValue+expt;
    document.cookie=str;
}

function session_exists(strName){
    var str, reg;
    str=document.cookie;
    strName=escape(strName);
    reg=new RegExp(strName+"=(.+);?");
    if(!reg.test(str)){return(false);}else{return(true);}
}

function xmlhttp(){
    // declare all the private variable
    var aryArgu, aryOnPropertyChange_AttachedEvents, aryRequestHeaders, blnAsyn, objRequest, objSelf, objThat, strMethod, strProtocol, strToBeSend, strUID, strUrl;
    // declare all the private functions
    var defaultEvent_onreadystatechange, getXMLRequester, init, realEvent_onreadystatechange, uid;

    
    // declare public variable
    this.blnSendDefaultHeader=false;
    this.readyState=0;
    this.responseText="";
    this.responseXML="";
    this.status=-1;

    // public event
    this.onreadystatechange=defaultEvent_onreadystatechange;

    // public method
    this.attachEvent=function(eventHandle,functionHandle){
        var eventHandle=String(eventHandle).toLowerCase();
        switch(eventHandle){
            case "onreadystatechange":
                if(this.onreadystatechange!=defaultEvent_onreadystatechange){
                    this.onreadystatechange=defaultEvent_onreadystatechange;
                    aryOnPropertyChange_AttachedEvents=new Array();
                }
                aryOnPropertyChange_AttachedEvents.push(functionHandle);
                return(true);
            break;
            default:
                return("Not reallized yet.");
            break;
        }
    }

    this.deleteRequestHeader=function(strName){
        delete aryRequestHeaders[strName];
    }

    this.detachEvent=function(eventHandle,functionHandle){
        var eventHandle=String(eventHandle).toLowerCase();
        switch(eventHandle){
            case "onreadystatechange":
                if(this.onreadystatechange!=defaultEvent_onreadystatechange){
                    this.onreadystatechange=defaultEvent_onreadystatechange;
                    aryOnPropertyChange_AttachedEvents=new Array();
                    return(true);
                }
                for(var i=0;i<aryOnPropertyChange_AttachedEvents.length;i++){
                    if(aryOnPropertyChange_AttachedEvents[i]==functionHandle){
                        aryOnPropertyChange_AttachedEvents.splice(i,1);
                        break;
                    }
                }
                return(true);
            break;
            default:
                return("Not reallized yet.");
            break;
        }
    }

    this.flush=function(){
        try{ this.readyState=objRequest.readyState; }catch(e){}
        try{ this.responseText=objRequest.responseText; }catch(e){}
        try{ this.responseXML=objRequest.responseXML; }catch(e){}
        try{ this.status=objRequest.status; }catch(e){}
    }

    this.getAllResponseHeaders=function(){
        return(objRequest.getAllResponseHeaders());
    }

    this.getAttribute=function(strName,strRef){
        switch(strName){
            case "allHeaders":
                return(objRequest.getAllResponseHeaders());
            case "asyn":
                return(blnAsyn);
            case "header":
                return(objRequest.getResponseHeader(strRef));
            case "method":
                return(strMethod);
            case "protocol":
                return(strProtocol);
            case "readyState":
                return(objRequest.readyState);
            case "responseBody":
                return(objRequest.responseBody);
            case "responseText":
                return(objRequest.responseText);
            case "responseXML":
                return(objRequest.responseXML);
            case "send": case "sendString": case "strSend":
                return(strToBeSend);
            case "status":
                return(objRequest.status);
            case "uid":
                return(strUID);
            case "url":
                return(strUrl);

            default:
                return(false);
        }
    }

    this.getResponseHeader=function(strHeaderName){
        return(objRequest.getResponseHeader(strHeaderName));
    }

    this.init=init;

    this.open=function(method,url,asyn){
        var theURL;
        strMethod=String(method).toLowerCase()=="POST"?"POST":"GET";
        strUrl=String(url);
        blnAsyn=String(asyn).toLowerCase()=="false"?false:true;
        strProtocol=strUrl.match(/http://///i)?"http":"other";
        theURL=strUrl
        //if(strProtocol=="http")theURL=strUrl+(strUrl.indexOf(".")==-1?"http://":"")+(strUrl.indexOf("?")==-1?"?":"&")+uid()+"=true";
        objRequest.open(strMethod,theURL,blnAsyn);
    }

    this.reset=init;

    this.send=function(strSend){
        strToBeSend=String(strSend);
        for(var i in aryRequestHeaders){
            objRequest.setRequestHeader(i,aryRequestHeaders[i]);
        }
        if(this.blnSendDefaultHeader){
            objRequest.setRequestHeader("Content-Length",strToBeSend.length);
        }
        objRequest.onreadystatechange=realEvent_onreadystatechange;
        objRequest.send(strToBeSend);
    }

    this.setRequestHeader=function(strName,strValue){
        aryRequestHeaders[strName]=strValue;
    }

    // private functions
    function defaultEvent_onreadystatechange(){}

    function getXMLRequester(){
        var xmlhttp_request = false;
        try{
            if( window.ActiveXObject ){
                for( var i = 5; i > -1; i-- ){
                    try{
                        if( i == 2 ){
                            xmlhttp_request = new ActiveXObject( "Microsoft.XMLHTTP" );
                        }else{
                            xmlhttp_request = new ActiveXObject( "Msxml2.XMLHTTP." + i + ".0" );
                        }
                        break;
                    }catch(e){
                        xmlhttp_request = false;
                    }
                }
            }else if( window.XMLHttpRequest ){
                xmlhttp_request = new XMLHttpRequest();
            }
        }catch(e){
            xmlhttp_request = false;
        }
        return xmlhttp_request;
    }

    function init(){
        // init private variable
        aryArgu=new Array();
        aryOnPropertyChange_AttachedEvents=new Array();
        aryRequestHeaders=new Array();
        blnAsyn=true;
        objRequest=getXMLRequester();
        objSelf=this;
        objThat=this;
        strMethod="GET";
        strProtocol="unknown";
        strResponseText="";
        strToBeSend="";
        strUID=strUID?strUID:uid();
        strUrl="";
        // init public variable
        this.blnSendDefaultHeader=false;

        // regist this object to window
        window[strUID]=this;
    }

    function realEvent_onreadystatechange(){
        objThat.flush();
        if(objThat.onreadystatechange==defaultEvent_onreadystatechange){
            for(var i=0;i<aryOnPropertyChange_AttachedEvents.length;i++){
                try{
                    if(typeof(aryOnPropertyChange_AttachedEvents[i])=="function"){
                        aryOnPropertyChange_AttachedEvents[i].call(objThat);
                    }else if(typeof(aryOnPropertyChange_AttachedEvents[i])=="string"){
                        eval(aryOnPropertyChange_AttachedEvents[i]);
                    }
                }catch(e){alert("004"+e.description)}
            }
        }else{
            try{
                if(typeof(objThat.onreadystatechange)=="function"){
                    objThat.onreadystatechange();
                }else if(typeof(objThat.onreadystatechange)=="string"){
                    eval(objThat.onreadystatechange);
                }
            }catch(e){alert("005"+e.description)}
        }
    }

    function uid(){
        return("u"+(new Date()).getTime().toString(35)+parseInt(Math.random()*999999).toString(35));
    }

    
    // do init
    this.init();

}




window.onload=init;
window.onresize=resizeWin;
window.onerror=cancelErr;
</script>
</head>
<body>
<input id="i1"><br>
<iframe id="f1"></iframe>
</body>    
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
久久精品亚洲热| 久久99精品视频| 国产稀缺精品盗摄盗拍| 亚洲av成人无码一二三在线观看| 亚洲成人av免费观看| aaa黄色大片| www.中文字幕av| 69夜色精品国产69乱| 国产一级做a爱免费视频| 亚洲 日本 欧美 中文幕| av官网在线观看| 日本伊人午夜精品| 热久久久久久久| 日本a级片免费观看| 免费人成精品欧美精品| 视频一区二区三区中文字幕| 污污污www精品国产网站| 中文字幕在线免费看线人| 视频一区欧美日韩| 国产黄a三级三级| 久久网中文字幕| 亚洲无码精品一区二区三区| www黄色网址| 国产毛片精品视频| 国产精品色呦呦| 日本韩国一区二区三区视频| 亚洲精品一区二区三区在线观看 | 国产aⅴ综合色| 国产精品无码电影| 久久久久久久网| 欧美激情乱人伦| 天天影视涩香欲综合网| 91精品国产入口在线| 中文字幕精品一区二区精品| 日韩美女免费视频| 欧美日韩综合精品| 9久久9毛片又大又硬又粗| 极品少妇一区二区| 欧美日韩一区二区三区四区| 丁香婷婷综合激情五月色| 中文字幕中文字幕在线一区 | 91精品视频网| 成人疯狂猛交xxx| 日韩二区三区在线| 国产91精品青草社区| 欧美黄色高清视频| 久久久久免费看黄a片app| 中文字幕1区2区| a级片在线观看免费| 国产成人精品视频| 中文字幕在线不卡视频| 欧美精选午夜久久久乱码6080| 亚洲日本中文字幕免费在线不卡| 亚洲丝袜精品丝袜在线| 亚洲春色在线视频| 欧美午夜aaaaaa免费视频| 三级影片在线观看| 五月色婷婷综合| 亚洲男同性恋视频| 欧美精品一区视频| 91日韩在线视频| 精品一卡二卡三卡| 麻豆疯狂做受xxxx高潮视频| 日韩精彩视频在线观看| 亚洲一二三四区不卡| 最好看的2019年中文视频| 2014亚洲精品| 午夜激情影院在线观看| 999视频在线| 91免费视频观看| 精品成a人在线观看| 亚洲综合在线小说| 亚洲理论中文字幕| 97成人免费视频| 国产精品久久久久久久久搜平片| 亚洲精品ady| 国产日韩欧美一区二区三区四区| 久久av一区二区三| 国精产品乱码一区一区三区四区| 亚洲影视在线观看| 高清欧美一区二区三区| 潘金莲一级淫片aaaaaa播放1| 欧美三级视频网站| 黄色资源网久久资源365| 7777精品伊人久久久大香线蕉经典版下载| 高清一区二区三区四区五区| 人人干视频在线| 成年人免费看毛片| 欧美国产激情二区三区| 久热精品视频在线观看| 亚洲av综合色区| 日韩免费在线视频观看| 亚洲国产精品二十页| 久久久精品国产网站| 国产精品va在线观看无码| 日本熟女一区二区| 中文字幕在线观看不卡视频| 免费99精品国产自在在线| 性一交一乱一伧国产女士spa| 欧美日韩精品在线观看视频| 久久综合成人精品亚洲另类欧美| 中文字幕欧美日韩精品 | 国产亚洲精品超碰| 久久久精品久久| 日韩在线第三页| 人妻无码中文字幕| 欧美一区二区精品在线| 国内视频一区二区| 亚洲欧美一区二区三区四区五区| 国产午夜精品美女毛片视频| 欧美黑人又粗大| 久久久99精品视频| 国产美女自慰在线观看| 欧美性受极品xxxx喷水| 国产欧美日韩综合精品二区| 动漫性做爰视频| 国产精品狼人久久影院观看方式| 欧美在线视频一区二区| 538国产视频| 成人性生交大片免费看中文| 欧美xxxx做受欧美.88| 污色网站在线观看| 精品一区二区三区在线观看 | 亚洲欧美精品中文字幕在线| 亚洲国产精品成人天堂| 亚洲av无码片一区二区三区| 日韩一区二区免费电影| 日本福利视频网站| 国产黄a三级三级三级| 日韩精品中午字幕| 日本中文字幕网址| 久久午夜激情| 精品国产一区二区三区久久狼5月| 日本中文字幕片| 麻豆精品国产91久久久久久| 久久精品国产91精品亚洲| 免费成人黄色大片| 成人免费高清视频| 久久久久久噜噜噜久久久精品| 红桃视频一区二区三区免费| 成人丝袜18视频在线观看| 7777kkkk成人观看| 三级黄色片在线观看| 亚洲一区二区中文在线| 日韩av电影免费播放| 国产欧美日韩综合精品一区二区三区| 日韩一二三四区| 国产第一页视频| 国产成人精品影视| 国产精品高清在线观看| xxxx日本少妇| 欧美影视一区二区三区| 国产免费一区二区视频| 日韩成人午夜电影| 97精品国产91久久久久久| 萌白酱视频在线| 日韩欧美在线观看| 日b视频免费观看| 国产麻豆精品95视频| 久久精品国产一区二区电影| 美女洗澡无遮挡| 亚洲韩国一区二区三区| mm131午夜| 久久精品国产精品青草| 国产成人亚洲综合91精品| 伊人365影院| 精品国产电影一区二区| 在线播放av网址| 亚洲一区二区三区四区的| 亚洲乱码国产乱码精品天美传媒| 性欧美大战久久久久久久久| 久久精品视频导航| 国产高清精品一区二区| 91久久精品国产91性色69| 精品久久久久久久无码| 国产乱淫av免费| 琪琪一区二区三区| 日韩女在线观看| 久草综合在线视频| 9191成人精品久久| 国产永久免费网站| 最好看的2019年中文视频| 国产精品揄拍500视频| 鲁片一区二区三区| 艳母动漫在线看| 5278欧美一区二区三区| 无码人妻一区二区三区线| 国产午夜精品一区二区三区| xxxx黄色片| 8v天堂国产在线一区二区| 9191在线视频| 在线中文字幕不卡| 亚洲精品中文字幕乱码无线| 亚洲动漫第一页| 欧美少妇性生活视频| 亚洲三级久久久| 日本免费黄视频| 亚洲蜜臀av乱码久久精品 | 99视频在线精品| 青娱乐国产91| 成人自拍视频在线观看| 亚洲国产精品123| 久久免费电影网| 日韩人妻无码精品久久久不卡| 亚洲精品一区二区三区精华液| 亚洲最大成人在线| 天天操天天射天天舔| 成人在线中文字幕| 久久永久免费| 久久久久网址| 99久久精品免费| 欧美久久在线观看| 亚洲电影一区二区| 涩视频在线观看| 日韩欧美在线一区二区三区| 538精品视频| 日韩综合视频在线观看| 国产天堂第一区| 国产精品久久久久久久久久三级 | 久久久久久国产精品mv| 26uuu亚洲婷婷狠狠天堂| 波多野结衣乳巨码无在线| 性做久久久久久| 国产交换配乱淫视频免费| 一区二区三区精品99久久| 懂色av蜜臀av粉嫩av喷吹| 国产精品午夜视频| 国产宾馆实践打屁股91| 久草视频国产在线| 欧美日韩在线视频首页| 午夜影院黄色片| 欧美激情视频一区| 青青草原综合久久大伊人精品优势| 亚洲成人蜜桃| 亚洲综合色噜噜狠狠| www.久久国产| 久久高清视频免费| 日本少妇一区二区| 五月丁香综合缴情六月小说| 欧美日韩精品免费| 欧美人妻精品一区二区免费看| 国产不卡视频在线| 国产精品一区二区黑丝| 国产xxxxx在线观看| 精品国产成人系列| 亚洲一区在线观| 日本午夜精品一区二区| 亚洲精品免费播放| a天堂中文字幕| 欧美在线观看网址综合| 成人av中文字幕| 免费成人黄色大片| 久久精品这里热有精品| 亚洲 欧美 激情 另类| 99精品视频网站| 欧美日韩国产成人在线91 | 国产主播欧美精品| 99久久er热在这里只有精品15| 手机在线成人免费视频| 亚洲美女中文字幕| 99精品免费观看| 亚洲免费视频播放| 在线观看日韩毛片| 精品黑人一区二区三区观看时间| 欧美高清videos高潮hd| 国产在线精品一区二区夜色| 久久99国产精品一区| 欧美一区二区在线免费观看| 亚洲午夜在线播放| 久久综合久久综合这里只有精品| 亚洲综合一二区| 久久中文字幕人妻| 992tv在线成人免费观看| 国产一区二区福利视频| 91视频 - 88av| 亚洲成人av中文字幕| 国产情侣一区二区| 99热自拍偷拍| 日韩av影视在线| 日韩国产在线观看一区| 99视频精品免费| 日韩一中文字幕| 麻豆精品新av中文字幕| 国产成人av片| 国产精品亚洲综合天堂夜夜| 国产精品福利影院| 久久久久久久极品| 日本在线观看一区二区三区| 欧美日韩大陆在线| 巨乳诱惑日韩免费av| www.久久91| 久久久这里只有精品视频| 亚洲国产精品精华液2区45| 亚洲黄色网址大全| 亚洲va国产va天堂va久久| 亚洲夂夂婷婷色拍ww47| 欧美日韩精品区| av网站大全免费| 在线丨暗呦小u女国产精品| 亚洲AV无码国产精品午夜字幕| 日韩免费高清在线| 欧美激情免费观看| 成人精品国产一区二区4080| 小早川怜子一区二区的演员表| 国产麻豆日韩| 欧美丰满少妇xxxbbb| 天天操天天操天天| 午夜啪啪小视频| 国产欧美一区二区三区视频| 91福利社在线观看| 亚洲av无码片一区二区三区| 国产精品久久久久野外| 国产久一一精品| 欧美日韩在线免费观看| 午夜成人免费影院| 在线播放第一页| 欧美在线亚洲在线| 色综合网色综合| 欧美在线精品一区二区三区| 加勒比av中文字幕| 成人情趣片在线观看免费| 欧美美女黄视频| 粉嫩aⅴ一区二区三区四区五区| 手机看片国产日韩| 日韩精品伦理第一区| 美女av一区二区三区| 成人免费视频在线观看| 久久国产在线观看| 国产91在线免费| 91精品国产亚洲| 欧美系列一区二区| 国产精品一区一区三区| 一区二区三区四区五区| 国产天堂视频在线观看| 久久频这里精品99香蕉| 欧美性极品少妇精品网站| 美女精品一区二区| 青草影院在线观看| 国产专区在线视频| 国语自产偷拍精品视频偷 | 日本一欧美一欧美一亚洲视频| 狠狠躁夜夜躁人人躁婷婷91| 久久亚洲色图| 国精产品一区一区| 精品国偷自产一区二区三区| 97人人爽人人喊人人模波多| 不卡av在线网| 在线播放精品视频| 亚洲一级中文字幕| 爱爱爱视频网站| 国产精品女人网站| 亚洲福利视频专区| 综合自拍亚洲综合图不卡区| 秋霞电影一区二区| 日韩在线观看第一页| 中文字幕18页| 99热这里只有精品7| 日本久久精品视频| 日韩一区二区在线播放| 日韩一二三区视频| 伊人亚洲综合网| www亚洲色图| 久久久久久久午夜| 国产精品免费在线播放| 久久色精品视频| 欧美日韩卡一卡二| 亚洲欧美视频在线观看视频| 美女一区二区三区| 一区二区三区日| 亚洲熟妇一区二区三区| 免费国产黄色网址| 日韩久久久久久久久| 不卡毛片在线看| 欧美日韩在线亚洲一区蜜芽| 久久尤物电影视频在线观看| 熟妇人妻系列aⅴ无码专区友真希| 亚洲天堂精品一区| 香蕉在线观看视频| 国产欧美精品aaaaaa片| 粉嫩高清一区二区三区精品视频| 欧美精品久久一区二区| 欧美大胆一级视频| 欧洲一区二区三区免费视频| 日本一区二区三区高清不卡| 日韩精品午夜视频| 99热这里只有精品在线观看| 中文字幕另类日韩欧美亚洲嫩草| 这里只有精品在线观看视频| 成人免费观看毛片| 亚洲免费不卡| 久久国产精品亚洲va麻豆| 国产精品福利在线| 97国产精品免费视频| 中文字幕日韩在线观看| 日韩欧美国产免费播放| 日本一区二区三区免费乱视频| 蜜桃视频免费观看一区| 国产亚洲xxx| 每日在线观看av| 久热精品视频在线免费观看| 日韩一二在线观看| 欧美日韩国产在线播放网站| 亚洲va欧美va天堂v国产综合| 久久久久久久久久美女| 国产美女精品一区二区三区| 欧美a级理论片| 日本黄色大片视频| 国内精品偷拍视频| 国产高潮流白浆喷水视频| 中文字幕黄色片|