??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美日韩国产在线观看,国产精品视频在线观看,欧美日韩亚洲综合http://www.aygfsteel.com/wealupa/category/23609.htmlSpring, Hibernate, Struts, Ajax, RoRzh-cnThu, 24 Apr 2008 06:58:48 GMTThu, 24 Apr 2008 06:58:48 GMT60JavaScript日期控ghttp://www.aygfsteel.com/wealupa/archive/2008/04/24/195390.html常言W?/dc:creator>常言W?/author>Thu, 24 Apr 2008 01:51:00 GMThttp://www.aygfsteel.com/wealupa/archive/2008/04/24/195390.htmlhttp://www.aygfsteel.com/wealupa/comments/195390.htmlhttp://www.aygfsteel.com/wealupa/archive/2008/04/24/195390.html#Feedback0http://www.aygfsteel.com/wealupa/comments/commentRss/195390.htmlhttp://www.aygfsteel.com/wealupa/services/trackbacks/195390.html<html>
<head>
<script language=javascript>
function isDateTime(str){
var a = str.match(/^(\d{0,4})-(\d{0,2})-(\d{0,2}) (\d{0,2}):(\d{0,2}):(\d{0,2})$/);
if (a == null) return false;
if ( a[2]>=13 || a[3]>=32 || a[4]>=24 || a[5]>=60 || a[6]>=60) return false;
return true;
}
</script>
<script language=javascript>
document.write("<div align='center' id=meizzCalendarLayer style='BORDER-RIGHT: #000000 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #000000 1px solid; PADDING-LEFT: 5px; Z-INDEX: 999999; BACKGROUND: #ffffff; FILTER: Alpha(opacity=85); LEFT: 205px; PADDING-BOTTOM: 5px; BORDER-LEFT: #000000 1px solid; WIDTH: 215px; LINE-HEIGHT: 5px; PADDING-TOP: 5px; BORDER-BOTTOM: #000000 1px solid; POSITION: absolute; TOP: 220px; HEIGHT: 215px; display: none'>");
document.write("<iframe name=meizzCalendarIframe scrolling=no frameborder=0 width=100% height=100%></iframe></div>");
function writeIframe()
{
    var strIframe = "<html><head><meta http-equiv='Content-Type' content='text/html; charset=gb2312'><style>"+
    "*{font-size: 12px; font-family: 宋体}"+

    "</style></head><body onselectstart='return false' style='margin: 0px' oncontextmenu='return false'><form name=meizz>";
    if (WebCalendar.drag){ strIframe += "<scr"+"ipt language=javascript>"+
    "var drag=false, cx=0, cy=0, o = parent.WebCalendar.calendar; function document.onmousemove(){"+
    "if(parent.WebCalendar.drag && drag){if(o.style.left=='')o.style.left=0; if(o.style.top=='')o.style.top=0;"+
    "o.style.left = parseInt(o.style.left) + window.event.clientX-cx;"+
    "o.style.top  = parseInt(o.style.top)  + window.event.clientY-cy;}}"+
    "function document.onkeydown(){ switch(window.event.keyCode){  case 27 : parent.hiddenCalendar(); break;"+
    "case 37 : parent.prevM(); break; case 38 : parent.prevY(); break; case 39 : parent.nextM(); break; case 40 : parent.nextY(); break;"+
    "case 84 : document.forms[0].today.click(); break;} window.event.keyCode = 0; window.event.returnValue= false;}"+
    "function dragStart(){cx=window.event.clientX; cy=window.event.clientY; drag=true;}</scr"+"ipt>"}
    strIframe += "<select name=tmpYearSelect  onblur='parent.hiddenSelect(this)' style='z-index:1;position:absolute;top:3;left:40;display:none'"+
    " onchange='parent.WebCalendar.thisYear =this.value; parent.hiddenSelect(this); parent.writeCalendar();'></select>"+
    "<select name=tmpMonthSelect onblur='parent.hiddenSelect(this)' style='z-index:1; position:absolute;top:3;left:110;display:none'"+
    " onchange='parent.WebCalendar.thisMonth=this.value; parent.hiddenSelect(this); parent.writeCalendar();'></select>"+
    "<select name=tmpHourSelect onblur='parent.hiddenSelect(this)' style='z-index:1; position:absolute;top:179;left:35;display:none'"+
    " onchange='parent.WebCalendar.thisHour=this.value; parent.hiddenSelect(this); parent.writeCalendar();'></select>"+
    "<select name=tmpMinuteSelect onblur='parent.hiddenSelect(this)' style='z-index:1; position:absolute;top:179;left:80;display:none'"+
    " onchange='parent.WebCalendar.thisMinute=this.value; parent.hiddenSelect(this); parent.writeCalendar();'></select>"+
    "<select name=tmpSecondSelect onblur='parent.hiddenSelect(this)' style='z-index:1; position:absolute;top:179;left:125;display:none'"+
    " onchange='parent.WebCalendar.thisSecond=this.value; parent.hiddenSelect(this); parent.writeCalendar();'></select>"+
    "<table id=tableMain border='1' cellpadding='0' cellspacing='0' bordercolor='#C0D0E8' bordercolorlight='#C0D0E8' bordercolordark='#C0D0E8' width='100%' height='100%'>"+
    "<tr><td height=19 bgcolor='"+ WebCalendar.lightColor +"'>"+
    "    <table width='98%' id=tableHead border=0 cellspacing=1 cellpadding=0 align='center'><tr align=center>"+
    "    <td title='向前?1 q? onclick='parent.prevY()' style='cursor: hand' class=bg><<</td>"+
    "    <td width=15 height=19 class=bg title='向前?1 ? style='cursor: hand' onclick='parent.prevM()'><</td>"+
    "    <td width=60 id=meizzYearHead  title='点击此处选择q䆾' onclick='parent.funYearSelect(parseInt(this.innerText, 10))'"+
    "        onmouseover='this.bgColor=parent.WebCalendar.darkColor; this.style.color=parent.WebCalendar.lightColor'"+
    "        onmouseout='this.bgColor=parent.WebCalendar.lightColor; this.style.color=parent.WebCalendar.wordColor'></td>"+
    "    <td width=50 id=meizzYearMonth title='点击此处选择月䆾' onclick='parent.funMonthSelect(parseInt(this.innerText, 10))'"+
    "        onmouseover='this.bgColor=parent.WebCalendar.darkColor; this.style.color=parent.WebCalendar.lightColor'"+
    "        onmouseout='this.bgColor=parent.WebCalendar.lightColor; this.style.color=parent.WebCalendar.wordColor'></td>"+
    "    <td width=15 class=bg title='向后?1 ? onclick='parent.nextM()' style='cursor: hand'>></td>"+
    "    <td title='向后?1 q? onclick='parent.nextY()' style='cursor: hand' class=bg>>></td>"+
    "</tr></table>"+
    "</td></tr><tr><td height=20 align='center'><table id=tableWeek border=1 width='98%' cellpadding=0 cellspacing=0 ";
    if(WebCalendar.drag){strIframe += "onmousedown='dragStart()' onmouseup='drag=false' onmouseout='drag=false'";}
    strIframe += " borderColorLight='#FFFFFF' borderColorDark='#FFFFFF'>"+
    "    <tr align=center bgcolor='#6699FF'><td height=20><font color='#FF0000'>?lt;/font></td><td>一</td><td>?lt;/td><td>?lt;/td><td>?lt;/td><td>?lt;/td><td><font color='#FF0000'>?lt;/font></td></tr></table>"+
    "</td></tr><tr><td valign=top align='center' bgcolor='"+ WebCalendar.lightColor +"'>"+
    "    <table id=tableDay height='100%' width='98%' border=0 cellspacing=1 cellpadding=0>";
         for(var x=0; x<5; x++){ strIframe += "<tr>";
         for(var y=0; y<7; y++)  strIframe += "<td class=out id='meizzDay"+ (x*7+y) +"'></td>"; strIframe += "</tr>";}
         strIframe += "<tr>";
         for(var x=35; x<39; x++) strIframe += "<td class=out id='meizzDay"+ x +"'></td>";
         strIframe +="<td colspan=3 class=out title='"+ WebCalendar.regInfo +"'><input style=' background-color: "+
         WebCalendar.btnBgColor +";cursor: hand; padding-top: 4px; width: 100%; height: 100%; border: 0' onfocus='this.blur()'"+
         " type=button value='    关闭' onclick='parent.hiddenCalendar()'></td></tr></table>"+
    "</td></tr><tr><td height=20  align='center' bgcolor='"+ WebCalendar.lightColor +"'>"+
    "    <table border=0 cellpadding=1 cellspacing=0 width='98%'>"+
    "    <tr>"+
    "        <td width=15 height=19 title='向前?1 时' onclick='parent.prevH()' style='cursor: hand' class=bg><<</td>"+
    "        <td width=15 height=19 title='向前?1 分钟' onclick='parent.prevMi()' style='cursor: hand' class=bg><</td>"+
    "        <td width=60 id=meizzHourHead  title='点击此处选择时' onclick='parent.funHourSelect(parseInt(this.innerText, 10))'"+
    "        onmouseover='this.bgColor=parent.WebCalendar.darkColor; this.style.color=parent.WebCalendar.lightColor'"+
    "        onmouseout='this.bgColor=parent.WebCalendar.lightColor; this.style.color=parent.WebCalendar.wordColor'></td>"+
    "    <td width=50 id=meizzMinuteHead title='点击此处选择分钟' onclick='parent.funMinuteSelect(parseInt(this.innerText, 10))'"+
    "        onmouseover='this.bgColor=parent.WebCalendar.darkColor; this.style.color=parent.WebCalendar.lightColor'"+
    "        onmouseout='this.bgColor=parent.WebCalendar.lightColor; this.style.color=parent.WebCalendar.wordColor'></td>"+
    "    <td width=50 id=meizzSecondHead title='点击此处选择U? onclick='parent.funSecondSelect(parseInt(this.innerText, 10))'"+
    "        onmouseover='this.bgColor=parent.WebCalendar.darkColor; this.style.color=parent.WebCalendar.lightColor'"+
    "        onmouseout='this.bgColor=parent.WebCalendar.lightColor; this.style.color=parent.WebCalendar.wordColor'></td>"+
    "        <td title='向后?1 分钟' onclick='parent.nextMi()' style='cursor: hand' class=bg>></td>"+
    "        <td title='向后?1 时' onclick='parent.nextH()' style='cursor: hand' class=bg>>></td>"+
    "</tr></table>"+
    "</td></tr><table></form></body></html>";
    with(WebCalendar.iframe)
    {
        document.writeln(strIframe); document.close();
        for(var i=0; i<39; i++)
        {
            WebCalendar.dayObj[i] = eval("meizzDay"+ i);
            WebCalendar.dayObj[i].onmouseover = dayMouseOver;
            WebCalendar.dayObj[i].onmouseout  = dayMouseOut;
            WebCalendar.dayObj[i].onclick     = returnDate;
        }
    }
}
function WebCalendar() //初始化日历的讄
{
    this.daysMonth  = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    this.day        = new Array(39);            //定义日历展示用的数组
    this.dayObj     = new Array(39);            //定义日期展示控g数组
    this.dateStyle  = null;                     //保存格式化后日期数组
    this.objExport  = null;                     //日历回传的显C控?br />     this.eventSrc   = null;                     //日历昄的触发控?br />     this.inputDate  = null;                     //转化外的输入的日?d/m/yyyy)
    this.thisYear   = new Date().getFullYear(); //定义q的变量的初始?br />     this.thisMonth  = new Date().getMonth()+ 1; //定义月的变量的初始?br />     this.thisDay    = new Date().getDate();     //定义日的变量的初始?br />     this.thisHour   = new Date().getHours();    //定义时得变量初始?br />     this.thisMinute = new Date().getMinutes();  //定义分钟得变量初始?br />     this.thisSecond = new Date().getSeconds();  //定义U得标量的初始?br />     this.today      = this.thisDay +"/"+ this.thisMonth +"/"+ this.thisYear;   //今天(d/m/yyyy)
    this.iframe     = window.frames("meizzCalendarIframe"); //日历?iframe 载体
    this.calendar   = getObjectById("meizzCalendarLayer");  //日历的层
    this.dateReg    = "";           //日历格式验证的正则式
    this.yearFall   = 50;           //定义q下拉框的年差?br />     this.format     = "yyyy-mm-dd"; //回传日期的格?br />     this.timeShow   = true;        //是否q回旉
    this.drag       = false;         //是否允许拖动
    this.darkColor  = "#0000D0";    //控g的暗?br />     this.lightColor = "#FFFFFF";    //控g的亮?br />     this.btnBgColor = "#E6E6FA";    //控g的按钮背景色
    this.wordColor  = "#000080";    //控g的文字颜?br />     this.wordDark   = "#DCDCDC";    //控g的暗文字颜色
    this.dayBgColor = "#F5F5FA";    //日期数字背景?br />     this.todayColor = "#FF0000";    //今天在日历上的标C景色
    this.DarkBorder = "#D4D0C8";    //日期昄的立体表达色
}   var WebCalendar = new WebCalendar();
function calendar() //主调函数
{
    var e = window.event.srcElement;   writeIframe();
    var o = WebCalendar.calendar.style; WebCalendar.eventSrc = e;
 if (arguments.length == 0) WebCalendar.objExport = e;
    else WebCalendar.objExport = eval(arguments[0]);
    WebCalendar.iframe.tableWeek.style.cursor = WebCalendar.drag ? "move" : "default";
 var t = e.offsetTop,  h = e.clientHeight, l = e.offsetLeft, p = e.type;
 while (e = e.offsetParent){t += e.offsetTop; l += e.offsetLeft;}
    o.display = ""; WebCalendar.iframe.document.body.focus();
    var cw = WebCalendar.calendar.clientWidth, ch = WebCalendar.calendar.clientHeight;
    var dw = document.body.clientWidth, dl = document.body.scrollLeft, dt = document.body.scrollTop;
   
    if (document.body.clientHeight + dt - t - h >= ch) o.top = (p=="image")? t + h : t + h + 6;
    else o.top  = (t - dt < ch) ? ((p=="image")? t + h : t + h + 6) : t - ch;
    if (dw + dl - l >= cw) o.left = l; else o.left = (dw >= cw) ? dw - cw + dl : dl;
    if  (!WebCalendar.timeShow) WebCalendar.dateReg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
    else WebCalendar.dateReg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
    try{
        if (WebCalendar.objExport.value.trim() != ""){
            WebCalendar.dateStyle = WebCalendar.objExport.value.trim().match(WebCalendar.dateReg);
            if (WebCalendar.dateStyle == null)
            {
                WebCalendar.thisYear   = new Date().getFullYear();
                WebCalendar.thisMonth  = new Date().getMonth()+ 1;
                WebCalendar.thisDay    = new Date().getDate();
                alert("原文本框里的日期有错误!\n可能与你定义的显C时分秒有冲H!");
                writeCalendar(); return false;
            }
            else
            {
                WebCalendar.thisYear   = parseInt(WebCalendar.dateStyle[1], 10);
                WebCalendar.thisMonth  = parseInt(WebCalendar.dateStyle[3], 10);
                WebCalendar.thisDay    = parseInt(WebCalendar.dateStyle[4], 10);
                WebCalendar.inputDate  = parseInt(WebCalendar.thisDay, 10) +"/"+ parseInt(WebCalendar.thisMonth, 10) +"/"+
                parseInt(WebCalendar.thisYear, 10); writeCalendar();
            }
        }  else writeCalendar();
    }  catch(e){writeCalendar();}
}
function funMonthSelect() //月䆾的下拉框
{
    var m = isNaN(parseInt(WebCalendar.thisMonth, 10)) ? new Date().getMonth() + 1 : parseInt(WebCalendar.thisMonth);
    var e = WebCalendar.iframe.document.forms[0].tmpMonthSelect;
    for (var i=1; i<13; i++) e.options.add(new Option(i +"?, i));
    e.style.display = ""; e.value = m; e.focus(); window.status = e.style.top;
}
function funYearSelect() //q䆾的下拉框
{
    var n = WebCalendar.yearFall;
    var e = WebCalendar.iframe.document.forms[0].tmpYearSelect;
    var y = isNaN(parseInt(WebCalendar.thisYear, 10)) ? new Date().getFullYear() : parseInt(WebCalendar.thisYear);
        y = (y <= 1000)? 1000 : ((y >= 9999)? 9999 : y);
    var min = (y - n >= 1000) ? y - n : 1000;
    var max = (y + n <= 9999) ? y + n : 9999;
        min = (max == 9999) ? max-n*2 : min;
        max = (min == 1000) ? min+n*2 : max;
    for (var i=min; i<=max; i++) e.options.add(new Option(i +"q?, i));
    e.style.display = ""; e.value = y; e.focus();
}

function funHourSelect() //时的下拉框
{
    var e = WebCalendar.iframe.document.forms[0].tmpHourSelect;
    var h = isNaN(parseInt(WebCalendar.thisHour, 10)) ? new Date().getHours() : parseInt(WebCalendar.thisHour);
    for (var i=0; i<=23; i++) e.options.add(new Option(appendZero(i) +"?, i));
    e.style.display = ""; e.value = h; e.focus();
}

function funMinuteSelect() //分钟的下拉框
{
    var e = WebCalendar.iframe.document.forms[0].tmpMinuteSelect;
    var mi = isNaN(parseInt(WebCalendar.thisMinute, 10)) ? new Date().getMinutes() : parseInt(WebCalendar.thisMinute);
    for (var i=0; i<=59; i++) e.options.add(new Option(appendZero(i) +"?, i));
    e.style.display = ""; e.value = mi; e.focus();
}

function funSecondSelect() //U的下拉?br /> {
    var e = WebCalendar.iframe.document.forms[0].tmpSecondSelect;
    var s = isNaN(parseInt(WebCalendar.thisSecond, 10)) ? new Date().getSecondes() : parseInt(WebCalendar.thisSecond);
    for (var i=0; i<=59; i++) e.options.add(new Option(appendZero(i) +"U?, i));
    e.style.display = ""; e.value = s; e.focus();
}

function prevM()  //往前翻月䆾
{
    WebCalendar.thisDay = 1;
    if (WebCalendar.thisMonth==1)
    {
        WebCalendar.thisYear--;
        WebCalendar.thisMonth=13;
    }
    WebCalendar.thisMonth--; writeCalendar();
}
function nextM()  //往后翻月䆾
{
    WebCalendar.thisDay = 1;
    if (WebCalendar.thisMonth==12)
    {
        WebCalendar.thisYear++;
        WebCalendar.thisMonth=0;
    }
    WebCalendar.thisMonth++; writeCalendar();
}

function prevH()   //往前翻时
{
    WebCalendar.thisHour--;
    if(WebCalendar.thisHour==-1)
    {
         WebCalendar.thisHour=23;
    }
    writeCalendar();
}
function nextH()   //往后翻时
{
    WebCalendar.thisHour++;
    if(WebCalendar.thisHour==24)
    {
         WebCalendar.thisHour=0;
    }
    writeCalendar();
}


function prevMi()   //往前翻时
{
    WebCalendar.thisMinute--;
    if(WebCalendar.thisMinute==-1)
    {
         WebCalendar.thisMinute=59;
    }
    writeCalendar();
}
function nextMi()   //往后翻时
{
    WebCalendar.thisMinute++;
    if(WebCalendar.thisMinute==60)
    {
         WebCalendar.thisMinute=0;
    }
    writeCalendar();
}


function prevY(){WebCalendar.thisDay = 1; WebCalendar.thisYear--; writeCalendar();}//往前翻 Year
function nextY(){WebCalendar.thisDay = 1; WebCalendar.thisYear++; writeCalendar();}//往后翻 Year
function hiddenSelect(e){for(var i=e.options.length; i>-1; i--)e.options.remove(i); e.style.display="none";}
function getObjectById(id){ if(document.all) return(eval("document.all."+ id)); return(eval(id)); }
function hiddenCalendar(){getObjectById("meizzCalendarLayer").style.display = "none";};
function appendZero(n){return(("00"+ n).substr(("00"+ n).length-2));}//日期自动补零E序
function String.prototype.trim(){return this.replace(/(^\s*)|(\s*$)/g,"");}
function dayMouseOver()
{
    this.className = "over";
    this.style.backgroundColor = WebCalendar.darkColor;
    if(WebCalendar.day[this.id.substr(8)].split("/")[1] == WebCalendar.thisMonth)
    this.style.color = WebCalendar.lightColor;
}
function dayMouseOut()
{
    this.className = "out"; var d = WebCalendar.day[this.id.substr(8)], a = d.split("/");
    this.style.removeAttribute('backgroundColor');
    if(a[1] == WebCalendar.thisMonth && d != WebCalendar.today)
    {
        if(WebCalendar.dateStyle && a[0] == parseInt(WebCalendar.dateStyle[4], 10))
        this.style.color = WebCalendar.lightColor;
        this.style.color = WebCalendar.wordColor;
    }
}
function writeCalendar() //Ҏ历显C的数据的处理程?br /> {
    var y = WebCalendar.thisYear;
    var m = WebCalendar.thisMonth;
    var d = WebCalendar.thisDay;
    var h = WebCalendar.thisHour;
    var mi = WebCalendar.thisMinute;
    var s = WebCalendar.thisSecond;
    WebCalendar.daysMonth[1] = (0==y%4 && (y%100!=0 || y%400==0)) ? 29 : 28;
    if (!(y<=9999 && y >= 1000 && parseInt(m, 10)>0 && parseInt(m, 10)<13 && parseInt(d, 10)>0)){
        alert("对不P你输入了错误的日期!");
        WebCalendar.thisYear   = new Date().getFullYear();
        WebCalendar.thisMonth  = new Date().getMonth()+ 1;
        WebCalendar.thisDay    = new Date().getDate();
        WebCalendar.thisHour   = new Date().getHours();   
        WebCalendar.thisMinute = new Date().getMinutes();
        WebCalendar.thisSecond = new Date().getSeconds();
        }
        y = WebCalendar.thisYear;
        m = WebCalendar.thisMonth;
        d = WebCalendar.thisDay;
        h = WebCalendar.thisHour;
        mi = WebCalendar.thisMinute;
        s = WebCalendar.thisSecond;

    WebCalendar.iframe.meizzYearHead.innerText  = y +" q?;
    WebCalendar.iframe.meizzYearMonth.innerText = parseInt(m, 10) +" ?;
    WebCalendar.iframe.meizzHourHead.innerText =appendZero(parseInt(h, 10)) +" ?;
    WebCalendar.iframe.meizzMinuteHead.innerText =appendZero(parseInt(mi, 10)) +" ?;
    WebCalendar.iframe.meizzSecondHead.innerText =appendZero(parseInt(s, 10))+" U?;

    WebCalendar.daysMonth[1] = (0==y%4 && (y%100!=0 || y%400==0)) ? 29 : 28; //闰年二月?9?br />     var w = new Date(y, m-1, 1).getDay();
    var prevDays = m==1  ? WebCalendar.daysMonth[11] : WebCalendar.daysMonth[m-2];
    for(var i=(w-1); i>=0; i--) //q三?for 循环为日历赋数据源(数组 WebCalendar.dayQ格式是 d/m/yyyy
    {
        WebCalendar.day[i] = prevDays +"/"+ (parseInt(m, 10)-1) +"/"+ y;
        if(m==1) WebCalendar.day[i] = prevDays +"/"+ 12 +"/"+ (parseInt(y, 10)-1);
        prevDays--;
    }
    for(var i=1; i<=WebCalendar.daysMonth[m-1]; i++) WebCalendar.day[i+w-1] = i +"/"+ m +"/"+ y;
    for(var i=1; i<39-w-WebCalendar.daysMonth[m-1]+1; i++)
    {
        WebCalendar.day[WebCalendar.daysMonth[m-1]+w-1+i] = i +"/"+ (parseInt(m, 10)+1) +"/"+ y;
        if(m==12) WebCalendar.day[WebCalendar.daysMonth[m-1]+w-1+i] = i +"/"+ 1 +"/"+ (parseInt(y, 10)+1);
    }
    for(var i=0; i<39; i++)    //q个循环是根据源数组写到日历里显C?br />     {
        var a = WebCalendar.day[i].split("/");
        WebCalendar.dayObj[i].innerText    = a[0];
        WebCalendar.dayObj[i].title        = a[2] +"-"+ appendZero(a[1]) +"-"+ appendZero(a[0]);
        WebCalendar.dayObj[i].bgColor      = WebCalendar.dayBgColor;
        WebCalendar.dayObj[i].style.color  = WebCalendar.wordColor;
        if ((i<10 && parseInt(WebCalendar.day[i], 10)>20) || (i>27 && parseInt(WebCalendar.day[i], 10)<12))
            WebCalendar.dayObj[i].style.color = WebCalendar.wordDark;
        if (WebCalendar.inputDate==WebCalendar.day[i])    //讄输入框里的日期在日历上的颜色
        {WebCalendar.dayObj[i].bgColor = WebCalendar.darkColor; WebCalendar.dayObj[i].style.color = WebCalendar.lightColor;}
        if (WebCalendar.day[i] == WebCalendar.today)      //讄今天在日历上反应出来的颜?br />         {WebCalendar.dayObj[i].bgColor = WebCalendar.todayColor; WebCalendar.dayObj[i].style.color = WebCalendar.lightColor;}
    }
}
function returnDate() //Ҏ日期格式{返回用户选定的日?br /> {
    if(WebCalendar.objExport)
    {
        var returnValue;
        var a = (arguments.length==0) ? WebCalendar.day[this.id.substr(8)].split("/") : arguments[0].split("/");
        var d = WebCalendar.format.match(/^(\w{4})(-|\/)(\w{1,2})\2(\w{1,2})$/);
        if(d==null){alert("你设定的日期输出格式不对Q\r\n\r\n请重新定?WebCalendar.format Q?); return false;}
        var flag = d[3].length==2 || d[4].length==2; //判断q回的日期格式是否要补零
        returnValue = flag ? a[2] +d[2]+ appendZero(a[1]) +d[2]+ appendZero(a[0]) : a[2] +d[2]+ a[1] +d[2]+ a[0];
        if(WebCalendar.timeShow)
        {
            var h = WebCalendar.thisHour, m = WebCalendar.thisMinute, s = WebCalendar.thisSecond;
            returnValue += flag ? " "+ appendZero(h) +":"+ appendZero(m) +":"+ appendZero(s) : " "+  h  +":"+ m +":"+ s;
        }
        WebCalendar.objExport.value = returnValue;
        hiddenCalendar();
    }
}

function document.onclick()
{
    if(WebCalendar.eventSrc != window.event.srcElement) hiddenCalendar();
}
</script>
</head>
<body>
<input type=button onclick="alert(isDateTime('2006-10-2 12:23:34'))" value="旉格式试">
<input type=text onfocus="calendar()">
</body>
</html>



]]>
用xmlhttp和Java session监听改善站内消息pȝhttp://www.aygfsteel.com/wealupa/archive/2007/06/26/126304.html常言W?/dc:creator>常言W?/author>Tue, 26 Jun 2007 03:34:00 GMThttp://www.aygfsteel.com/wealupa/archive/2007/06/26/126304.htmlhttp://www.aygfsteel.com/wealupa/comments/126304.htmlhttp://www.aygfsteel.com/wealupa/archive/2007/06/26/126304.html#Feedback0http://www.aygfsteel.com/wealupa/comments/commentRss/126304.htmlhttp://www.aygfsteel.com/wealupa/services/trackbacks/126304.html  q个题目含有许多需要解释的概念Q最Ҏ说明的是“站内消息”Q这是很多论坛都有的功能Q可以通过web向其他的在线用户发送消息,很多用户都用过。站内消息的W一个好处是大家都不需要安装客LQ你不用知道Ҏ的MSN或者QQQ就能与他联p,U赞他的观点或者是l他一臭骂。第二个好处是客L理方便,利用session来维护在U名单,各种脚本都已l把session操作装得很易用了,不用像其他无状态的x通信工具Q比如用UDP通信的工P一P要费一些脑l胞来解军_U名单的问题。缺点嘛Q就是实时性不好,一般是在用戯转或者刷新页面才能探消息、更新在U名单?br>
  Session监听嘛,没什么好解释的,java提供了很灉|的事件机制来监听sessionQ可以监听session的创建和销毁,监控session所携带数据的创建、变化和销毁,可以监听session的锐化和钝化Q了解对象序列化的兄弟应该知道这个)Q其他的q_是个什么情冉|不太清楚Q估计也差不多吧。如果能够对所有客Lsessionq行监控Q就不用再去操作ȝ而危险的Application了?br>
  Xmlhttp是MS推的一Ҏ术,功能很复杂,可以做很多事情,比如客户端可以在单的HTML中打开HTTPq接Q主动向serverh数据q获得返回数据,是DOM技术一个非帔R要的应用Q利用它来写无刷新的动态页面简直是so easyQ做qweb开发的兄弟应该明白它的意义有多么重大?br>
一?session监听

  servlet中对session的监听有很多接口Q功能很灉|Q最常用的是监听Session和Attribute。这里要澄清一下概念,servlet中的session监听和Attribute监听含义有差别,session监听指的不是我们一般所理解的放|一个session或者销毁一个sessionQ这是Attribute监听的功能,因ؓservlet中放|session的语法是session.setAttribute(“session?#8221;,要放入的对象)。而session监听Q监听的是HTTPq接Q只要有用户与serverq接Q就连接的是一个空白的jsp面Q也会触发session事gQ所以此处的session实际上指的是connectionQ用来统计当前在U用h最合适了。不知道我说清楚了没有。下面分别讲解这两种监听方式?br>
  1?session监听

  首先~写一个session监听c,实作HttpSessionListener接口Q它的作用是计算当前有多个在线用户Q?/p>
package org.bromon.test; 

import javax.servlet.*
import javax.servlet.http.*

public class SessionCount implements HttpSessionListener 

private static int count=0

public void sessionCreated(HttpSessionEvent se) 

count
++
System.out.println(“session创徏Q?#8221;
+new java.util.Date()); 
}
 

public void sessionDestroyed(HttpSessionEvent se) 

count
--
System.out.println(“session销?”
+new java.util.Date()); 
}
 

public static int getCount() 

return(count); 
}
 
}
 

  怎么P是不是一目了Ӟcount被定义ؓstaticQ是因ؓ要保证整个系l只有这一个count。如果你实在不放心,可以把它写成一个单例类?br>
  然后在web.xml中声明这个监听器Q?
<listener>
<listener-class>
org.bromon.test.SessionCount
</listener-class>
</listener>

  ~写一个测试页面test.jspQ内Ҏ获得countQ?
<%
int count=org.bromon.test.SessionCount.getCount();
out.println(count);
%>


  需要注意的是,q里Ҏ不涉及Q何session的操作。重启动App serverQ试着q接test.jspQ可以看到监听器已经开始工作?br>
  2?Attribute监听

  作ؓ一个站内消息系l,肯定要获得所有登陆者的IDQ才有可能互发消息。这涉及Attribute监听。假设我们写了个用户登陆的模块,用户通过w䆾验证之后会生一个sessionQ保存它的相关信息,比如Q?/p>

//check.jsp 
<% 
String name=request.getParameter(“name”); 
Name
=new String(name.getBytes(“ISO8859-1”)); 
session.setAttribute(“user”,name); 
%>

  做过jsp的兄弟应该对q段代码再熟悉不q了Q下面写个监听器来监听用L陆,把所有用LID保存C个List当中Q这个监听器实作HttpSessionAttributeListener接口Q?
package org.bromon.test; 

import javax.servlet.*
import javax.servlet.http.*
import java.util.*

public class OnlineList implements HttpSessionAttributeListener 

private static List list=new ArrayList(); 

public void attributeAdded(HttpSessionBindingEvent se) 

if(“user”.equals(se.getName())) 

list.add(se.getValue()); 
}
 
}
 

public void attributeRemoved(HttpSessionBindingEvent se) 

if(“user”.equals(se.getName())) 

list.remove(se.getValue()); 
}
 
}
 

public void attributeReplaced(HttpSessionBindingEvent se){} 

public static List getList() 

return(list); 
}
 
}

  写个单的jsp来得到用户列表:
<%
java.util.List list
=org.bromon.test.OnlineList.getList();
out.println(“共有”
+list.size()+”名用户已登陆Q?#8221;);
for(int I=0;I<lise.size();i++)
{
out.println(list.get(i));
}
%>


  也许你说Q这有什么神奇呢Q监听session而已Q不着急,看看xmlhttp?br>

二?XMLHTTP

  XMLHTTP的用处很多,q里只说我们需要的Q就是无h的与server通信Q看q段代码Q?/p>

<script language="javascript"> 
xml 
= new ActiveXObject("Microsoft.XMLHTTP"); 
var post=" ";//构造要携带的数?nbsp;
xml.open("POST","http://localhost:7001/TestWL/index.jsp",false);//使用POSTҎ打开一个到服务器的q接Q以异步方式通信 
xml.setrequestheader("content-length",post.length); 
xml.setrequestheader(
"content-type","application/x-www-form-urlencoded"); 
xml.send(post);
//发送数?nbsp;
var res = xml.responseText;//接收服务器返回的数据 
document.write(res); 
</script>

  豁然开朗,q段代码是打开一个HTTPq接Q以标准的HTTP格式传递数据,如果你喜Ƣ,可以用XML的格式来传递。更改一下xml对象的构造方式就可以兼容Mozilla和Netscape。下面来写一个轮询,每隔一D|间刷Cơ用户列表,当然Q是不需要刷新页面的Q?br>
<html> 
<head><title>探测?/span></title> 
<script language="javascript"> 
function detect() 

xml 
= new ActiveXObject("Microsoft.XMLHTTP"); 
var post=" ";//构造要携带的数?nbsp;
xml.open("POST","http://localhost:7001/TestWL/index.jsp",false);//使用POSTҎ打开一个到服务器的q接Q以异步方式通信 
xml.setrequestheader("content-length",post.length); 
xml.setrequestheader(
"content-type","application/x-www-form-urlencoded"); 
xml.send(post);
//发送数?nbsp;
var res = xml.responseText;//接收服务器返回的数据 
list.innerText=res; 
setTimeout(“detect()”,
5000);//每隔5U钟轮询一?nbsp;
}
 
</script> 
<body onload=”detect()”> 
<id=”list”></a> 
</body> 
</html>

  q样的通信方式数据量很,不用重新传递整个页面,5U钟轮一ơ,普通PC也能承受较大的在U数。构造一个探器来监听在U列表和消息Q效果是很好的,即你的客户坐在电脑前袖手旁观,键鼠都不C下,也能保证数据x传递,面也不会发生蟩转和h?br>
  Session监听加上XMLHTTP通信Q开发一个较为完善的站内消息pȝ实在易如反掌?


]]>
XMLHTTP无刷新自动实时更新数?ajax技?/title><link>http://www.aygfsteel.com/wealupa/archive/2007/06/26/126280.html</link><dc:creator>常言W?/dc:creator><author>常言W?/author><pubDate>Tue, 26 Jun 2007 02:36:00 GMT</pubDate><guid>http://www.aygfsteel.com/wealupa/archive/2007/06/26/126280.html</guid><wfw:comment>http://www.aygfsteel.com/wealupa/comments/126280.html</wfw:comment><comments>http://www.aygfsteel.com/wealupa/archive/2007/06/26/126280.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wealupa/comments/commentRss/126280.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wealupa/services/trackbacks/126280.html</trackback:ping><description><![CDATA[<pre><script language="JavaScript"><br><br>function GetResult()<br><br>{<br><br>/*<br><br>*--------------- GetResult() -----------------<br><br>* GetResult() <br><br>* 功能:通过XMLHTTP发送请?q回l果.<br><br>* 参数:str,字符?发送条?<br><br>* 实例:GetResult();<br><br>*--------------- GetResult() -----------------<br><br>*/<br><br>var oBao = new ActiveXObject("Microsoft.XMLHTTP");<br><br>//Ҏ字符Q?,%,&,=,?{的传输解决办法.字符串先用escape~码?<br><br>//Update:2004-6-1 12:22<br><br>oBao.open("POST","Server.asp",false);<br><br>oBao.send();<br><br>//服务器端处理q回的是l过escape~码的字W串.<br><br>var strResult = unescape(oBao.responseText);<br><br>//字W串分开.<br><br>var arrResult = strResult.split("###");<br><br>RemoveRow(); //删除以前的数?<br><br>//取得的字符串分开,q写入表g.<br><br>for(var i=0;i<arrResult.length;i++)<br><br>{<br><br>arrTmp = arrResult[i].split("@@@");<br><br>num1 = arrTmp[0]; //字段num1的?br><br>num2 = arrTmp[1]; //字段num2的?br><br>row1 = tb.insertRow();<br><br>cell1 = row1.insertCell();<br><br>cell1.innerText = num1;<br><br>cell2 = row1.insertCell();<br><br>cell2.innerText = num2;<br><br>}<br><br>}<br><br>function RemoveRow()<br><br>{<br><br>//保留W一行表?其余数据均删?<br><br>var iRows = tb.rows.length;<br><br>for(var i=0;i<iRows-1;i++)<br><br>{<br><br>tb.deleteRow(1);<br><br>}<br><br>}<br><br>function MyShow()<br><br>{<br><br>//2U自动刷C?2U取得一ơ数?<br><br>timer = window.setInterval("GetResult()",2000);<br><br>}<br><br></script><br><br><body onload="MyShow()"><br><br><p><br><br></p><br><br><table width="47%" height="23" border="0" </pre> <pre>cellpadding="1" cellspacing="0" id="tb"><br><br><tr><br><br><td>num1</td><br><br><td>num2</td><br><br></tr><br><br></table><br></pre> <img src ="http://www.aygfsteel.com/wealupa/aggbug/126280.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wealupa/" target="_blank">常言W?/a> 2007-06-26 10:36 <a href="http://www.aygfsteel.com/wealupa/archive/2007/06/26/126280.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>BS开发中常用的Javascript技?/title><link>http://www.aygfsteel.com/wealupa/archive/2007/05/08/115943.html</link><dc:creator>常言W?/dc:creator><author>常言W?/author><pubDate>Tue, 08 May 2007 06:43:00 GMT</pubDate><guid>http://www.aygfsteel.com/wealupa/archive/2007/05/08/115943.html</guid><wfw:comment>http://www.aygfsteel.com/wealupa/comments/115943.html</wfw:comment><comments>http://www.aygfsteel.com/wealupa/archive/2007/05/08/115943.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wealupa/comments/commentRss/115943.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wealupa/services/trackbacks/115943.html</trackback:ping><description><![CDATA[<p>一、验证类 <br>1、数字验证内 <br>  1.1 整数 <br>  1.2 大于0的整?Q用于传来的ID的验? <br>  1.3 负整数的验证 <br>  1.4 整数不能大于iMax <br>  1.5 整数不能于iMin <br>2、时间类 <br>  2.1 短时_形如 (13:04:06) <br>  2.2 短日期,形如 (2003-12-05) <br>  2.3 长时_形如 (2003-12-05 13:04:06) <br>  2.4 只有q和月。Ş?2003-05,或?003-5) <br>  2.5 只有时和分?形如(12:03) <br>3、表单类 <br>  3.1 所有的表单的值都不能为空 <br>  3.2 多行文本框的g能ؓI?<br>  3.3 多行文本框的g能超qsMaxStrleng <br>  3.4 多行文本框的g能少于sMixStrleng <br>  3.5 判断单选框是否选择?<br>  3.6 判断复选框是否选择. <br>  3.7 复选框的全选,多选,全不选,反?<br>  3.8 文g上传q程中判断文件类?<br>4、字W类 <br>  4.1 判断字符全部由a-Z或者是A-Z的字字母l成 <br>  4.2 判断字符由字母和数字l成?<br>  4.3 判断字符由字母和数字Q下划线,点号l成.且开头的只能是下划线和字?<br>  4.4 字符串替换函?Replace(); <br>5、浏览器c?<br>  5.1 判断览器的cd <br>  5.2 判断ie的版?<br>  5.3 判断客户端的分L?<br>   <br>6、结合类 <br>  6.1 email的判断?<br>  6.2 手机L的验?<br>  6.3 w䆾证的验证 <br>   </p> <p>二、功能类 </p> <p>1、时间与相关控gc?<br>  1.1 日历 <br>  1.2 旉控g <br>  1.3 万年?<br>  1.4 昄动态显C时钟效果(文本Q如OA中时_ <br>  1.5 昄动态显C时钟效?(囑փQ像手表)  <br>2、表单类 <br>  2.1 自动生成表单 <br>  2.2 动态添加,修改Q删除下拉框中的元素 <br>  2.3 可以输入内容的下拉框 <br>  2.4 多行文本框中只能输入iMax文字。如果多输入了,自动减少到iMax个文字(多用于短信发? <br>   <br>3、打印类 <br>  3.1 打印控g <br>4、事件类 <br>  4.1 屏蔽右键 <br>  4.2 屏蔽所有功能键 <br>  4.3 --> ?lt;-- F5 F11,F9,F1 <br>  4.4 屏蔽l合键ctrl+N <br>5、网设计类 <br>  5.1 q箋滚动的文字,囄Q注意是q箋的,两段文字和图片中没有I白出现Q?<br>  5.2 html~辑控gc?<br>  5.3 颜色选取框控?<br>  5.4 下拉菜单 <br>  5.5 两层或多层次的下拉菜?<br>  5.6 仿IE菜单的按钮。(效果如rongshuxa.com的导航栏? <br>  5.7 状态栏Qtitle栏的动态效果(例子很多Q可以研I一下) <br>  5.8 双击后,|页自动滚屏 <br>6、树型结构?<br>  6.1 asp+SQL?<br>  6.2 asp+xml+sql?<br>  6.3 java+sql或者java+sql+xml <br>7、无Ҏ效果的制?<br>8、连动下拉框技?<br>9、文本排?<br>10Q画囄Q含饹{柱、矢量贝滋曲U?<br>11Q操U客L注册表类 <br>12QDIV层相养I拖拽、显C、隐藏、移动、增加) <br>13QTABLAE相关(客户端动态增加行列,模拟q度条,滚动列表{? <br>14Q各U?lt;object classid=>相关c,如播攑֙Qflash与脚本互动等 <br>16, h/模拟无刷?异步调用c(XMLHttp或iframe,frameQ?</p> <p> </p> <p> </p> <p><script language="JavaScript"> <br><!-- <br>function check(text){ <br>var checkstr,iMax=5,iMin=3 <br>checkstr="isInt:"+(parseInt(text)==text)+"\n" <br>checkstr+="isID:"+((parseInt(text)==text)&&(text>=0))+"\n" <br>checkstr+="于"+iMax+":"+((parseInt(text)==text)&&(text<iMax))+"\n" <br>checkstr+="大于"+iMin+":"+((parseInt(text)==text)&&(text>iMin))+"\n" <br>alert(checkstr) <br>} <br>//--> <br></script> <br><form method=post action=""> <br><input type="text" id="text1" onchange="check(this.value)"> <br></form> </p> <p> </p> <p>4、事件类 <br>  4.1 屏蔽右键 <br>      在body标签里加上oncontextmenu=self.event.returnValue=false   <br>  4.2 屏蔽所有功能键 </p> <p>  4.3 --> ?lt;-- F5 F11,F9,F1 </p> <p>  4.4 屏蔽l合键ctrl+N </p> <p><script language=javascript> <br>function KeyDown(){    <br>  if ((window.event.altKey)&& <br>      ((window.event.keyCode==37)||   //屏蔽 Alt+ 方向?← <br>       (window.event.keyCode==39))){  //屏蔽 Alt+ 方向?→ <br>     alert("不准你用ALT+方向键前q或后退|页Q?); <br>     event.returnValue=false; <br>     } <br>  if ((event.keyCode==8)||            //屏蔽退格删除键 <br>      (event.keyCode==116)){          //屏蔽 F5 h?<br>     event.keyCode=0; <br>     event.returnValue=false; <br>     } <br>  if ((event.ctrlKey)&&(event.keyCode==78)){   //屏蔽 Ctrl+n <br>     event.returnValue=false; <br>     } <br>  if ((event.shiftKey)&&(event.keyCode==121)){ //屏蔽 shift+F10 <br>     event.returnValue=false; <br>     } <br>  if (event.keyCode==122){ //屏蔽 F11 <br>     event.returnValue=false; <br>     } <br>  } <br>只要知道keyCode卛_屏蔽所有功能键 </p> <p><br>一、验证类 <br>1、数字验证内 <br>  1.1 整数 <br>      /^(-|\+)?\d+$/.test(str) <br>  1.2 大于0的整?Q用于传来的ID的验? <br>      /^\d+$/.test(str) <br>  1.3 负整数的验证 <br>      /^-\d+$/.test(str) <br>2、时间类 <br>  2.1 短时_形如 (13:04:06) <br>      function isTime(str) <br>      { <br>        var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/); <br>        if (a == null) {alert('输入的参C是时间格?); return false;} <br>        if (a[1]>24 || a[3]>60 || a[4]>60) <br>        { <br>          alert("旉格式不对"); <br>          return false <br>        } <br>        return true; <br>      } <br>  2.2 短日期,形如 (2003-12-05) <br>      function strDateTime(str) <br>      { <br>         var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);  <br>         if(r==null)return false;  <br>         var d= new Date(r[1], r[3]-1, r[4]);  <br>         return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]); <br>      } <br>  2.3 长时_形如 (2003-12-05 13:04:06) <br>      function strDateTime(str) <br>      { <br>        var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;  <br>        var r = str.match(reg);  <br>        if(r==null)return false;  <br>        var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]);  <br>        return  </p> <p>(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&<br>d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()== </p> <p>r[7]); <br>      } <br>  2.4 只有q和月。Ş?2003-05,或?003-5) <br>  2.5 只有时和分?形如(12:03) <br>3、表单类 <br>  3.1 所有的表单的值都不能为空 <br>      <input onblur="if(this.value.replace(/^\s+|\s+$/g,'')=='')alert('不能为空!')"> <br>  3.2 多行文本框的g能ؓI?<br>  3.3 多行文本框的g能超qsMaxStrleng <br>  3.4 多行文本框的g能少于sMixStrleng <br>  3.5 判断单选框是否选择?<br>  3.6 判断复选框是否选择. <br>  3.7 复选框的全选,多选,全不选,反?<br>  3.8 文g上传q程中判断文件类?<br>4、字W类 <br>  4.1 判断字符全部由a-Z或者是A-Z的字字母l成 <br>      <input onblur="if(/[^a-zA-Z]/g.test(this.value))alert('有错')"> <br>  4.2 判断字符由字母和数字l成?<br>      <input onblur="if(/[^0-9a-zA-Z]/g.test(this.value))alert('有错')"> <br>  4.3 判断字符由字母和数字Q下划线,点号l成.且开头的只能是下划线和字?<br>      /^([a-zA-z_]{1})([\w]*)$/g.test(str) <br>  4.4 字符串替换函?Replace(); <br>5、浏览器c?<br>  5.1 判断览器的cd <br>      window.navigator.appName <br>  5.2 判断ie的版?<br>      window.navigator.appVersion <br>  5.3 判断客户端的分L?<br>      window.screen.height;  window.screen.width; <br>   <br>6、结合类 <br>  6.1 email的判断?<br>      function ismail(mail) <br>      { <br>        return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)<br>[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail)); <br>      } <br>  6.2 手机L的验?<br>  6.3 w䆾证的验证 <br>      function isIdCardNo(num) <br>      { <br>        if (isNaN(num)) {alert("输入的不是数字!"); return false;} <br>        var len = num.length, re;  <br>        if (len == 15) <br>          re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/); <br>        else if (len == 18) <br>          re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/); <br>        else {alert("输入的数字位C对!"); return false;} <br>        var a = num.match(re); <br>        if (a != null) <br>        { <br>          if (len==15) <br>          { <br>            var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]); <br>            var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&<br>D.getDate()==a[5]; <br>          } <br>          else <br>          { <br>            var D = new Date(a[3]+"/"+a[4]+"/"+a[5]); <br>            var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&<br>D.getDate()==a[5]; <br>          } <br>          if (!B) {alert("输入的n份证?"+ a[0] +" 里出生日期不对!"); return false;} <br>        } <br>        return true; <br>      } </p> <p><br>3.7 复选框的全选,多选,全不选,反?<br><form name=hrong> <br><input type=checkbox name=All onclick="checkAll('mm')">全?lt;br/> <br><input type=checkbox name=mm onclick="checkItem('All')"><br/> <br><input type=checkbox name=mm onclick="checkItem('All')"><br/> <br><input type=checkbox name=mm onclick="checkItem('All')"><br/> <br><input type=checkbox name=mm onclick="checkItem('All')"><br/> <br><input type=checkbox name=mm onclick="checkItem('All')"><br/><br/> </p> <p><br><input type=checkbox name=All2 onclick="checkAll('mm2')">全?lt;br/> <br><input type=checkbox name=mm2 onclick="checkItem('All2')"><br/> <br><input type=checkbox name=mm2 onclick="checkItem('All2')"><br/> <br><input type=checkbox name=mm2 onclick="checkItem('All2')"><br/> <br><input type=checkbox name=mm2 onclick="checkItem('All2')"><br/> <br><input type=checkbox name=mm2 onclick="checkItem('All2')"><br/> </p> <p></form> </p> <p><SCRIPT LANGUAGE="JavaScript"> <br>function checkAll(str) <br>{ <br>  var a = document.getElementsByName(str); <br>  var n = a.length; <br>  for (var i=0; i<n; i++) <br>  a[i].checked = window.event.srcElement.checked; <br>} <br>function checkItem(str) <br>{ <br>  var e = window.event.srcElement; <br>  var all = eval("document.hrong."+ str); <br>  if (e.checked) <br>  { <br>    var a = document.getElementsByName(e.name); <br>    all.checked = true; <br>    for (var i=0; i<a.length; i++) <br>    { <br>      if (!a[i].checked){ all.checked = false; break;} <br>    } <br>  } <br>  else all.checked = false; <br>} <br></SCRIPT> </p> <p>3.8 文g上传q程中判断文件类?<br><input type=file onchange="alert(this.value.match(/^(.*)(\.)(.{1,8})$/)[3])"> </p> <p> </p> <p>不断地清I剪贴板: <br><body onload="setInterval('clipboardData.setData(\'Text\',\'\')',100)"> </p> <p><br><script language="JavaScript" type="text/JavaScript"> <br>//先复制一样东西,或者文本或者图?<br>if(clipboardData.getData("Text")||clipboardData.getData("HTML")||<br>clipboardData.getData("URL")) <br>{ <br>alert("有效行ؓ"); <br>} <br></script> </p> <p><br>全屏技术: <br>真正的全屏页面解决之道!Q全代码Q?nbsp; <br>真正全屏解决之道Q?nbsp; <br>1.htm  <br><html>  <br><head>  <br><title>无标题文?lt;/title>  <br><meta http-equiv="Content-Type" content="text/html; charset=gb2312">  <br></head>  </p> <p><body onload="window.open('fullscreen.htm','','fullscreen=1,scroll=no');">  <br></body>  <br></html>  </p> <p><br>fullscreen.htm  <br><html>  <br><head>  <br><title>无标题文?lt;/title>  <br><meta http-equiv="Content-Type" content="text/html; charset=gb2312">  <br><script language="JavaScript1.2">   <br><!--   <br>function opensmallwin(myurl){   <br>var w2=300;//惛_出窗口的宽度   <br>var h2=100;//惛_出窗口的高度   <br>var w3=window.screen.width/2-w2/2;   <br>var h3=window.screen.height/2-h2/2;   <br>window.open(myurl,'small','toolbar=no,location=no,directories=no,status=no,menubar=no,<br>scrollbars=no,resizable=0,width='+ w2 +',height='+ h2 +',left='+ w3 +',top='+ h3 +'');   <br>}   <br>//-->   </p> <p><!--  <br>function modelesswin(url,mwidth,mheight){  <br>  if (document.all&&window.print)  <br>    eval('window.external.m2_blocked(url,"","help:0;resizable:0;status:0;center:1;<br>scroll:0;dialogWidth:'+mwidth+'px;dialogHeight:'+mheight+'px")')   <br>  else  <br>    eval('window.open(url,"","width='+mwidth+'px,height='+mheight+'px,resizable=1,<br>scrollbars=1")')  <br>  }  <br>//-->  </p> <p></script>   <br></head>  </p> <p><body  scroll="no">  <br><div align="right"><a href="javascript:" onclick="window.close()">关闭<br></a> </div>  <br><p></P>  <br><div align="right"><a href="javascript:" onclick="opensmallwin('login.htm')">d<br></a> </div>  </p> <p><p></P>  <br><div align="center"><a href="javascript:" <br>onclick="modelesswin('login.htm',300,160)">用模态登录窗?lt;/a> </div>  <br></body>  <br></html>  </p> <p><br>login.htm  <br><html>  <br><head>  <br><title>用户d</title>  <br><meta http-equiv="Content-Type" content="text/html; charset=gb2312">  </p> <p><style type="text/css">  <br><!--  <br>body {  <br>   background-color: #EAEAEA;  <br>   font-family: Arial, Helvetica, sans-serif;  <br>   font-size: 12px;  <br>   line-height: 24px;  <br>   color: #336699;  <br>}  <br>input.boxline {  <br>   width: 100px;  <br>   font-family: "Times New Roman", "Times", "serif";  <br>   font-size: 9pt;  <br>   border: 1px solid #669999;  <br>   height: 18px;  </p> <p>}  </p> <p>input.whiteline {    <br>   font-size: 12px; border: 1px #999999 solid  <br>}  <br>-->  <br></style></head>  <br><body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">  <br><table width="100%" height="100%" border="0" cellpadding="0"<br> cellspacing="14" bgcolor="#CCCCCC">  <br>  <tr valign="top">  <br>    <td width="10%" nowrap  align="right"><b>用户名:</b></td>  <br>    <td width="90%"><input name="textfield1" type="text" size="25"<br> class="whiteline"></td>  <br>  </tr>  <br>  <tr valign="top">  <br>    <td nowrap align="right"><b>密 码:</b></td>  <br>    <td><input name="textfield12" type="password" size="25" <br>class="whiteline"></td>  <br>  </tr>  <br>  <tr valign="top">  <br>    <td> </td>  <br>    <td><input type="submit" name="Submit" value="癅R ? <br>class="boxline"></td>  <br>  </tr>  <br></table>  <br></body>  <br></html>  </p> <p><br>自动x原窗口:  </p> <p><br><html>  <br><head>  <br><title>无标题文?lt;/title>  <br><meta http-equiv="Content-Type" content="text/html; charset=gb2312">  <br><style type="text/css">  <br><!--  <br>body {  <br>   margin-left: 0px;  <br>   margin-top: 0px;  <br>   margin-right: 0px;  <br>   margin-bottom: 0px;  <br>}  <br>-->  <br></style>  <br></head>  </p> <p><body onload="window.open('fullscreen.htm','','fullscreen=1,scroll=no');<br>window.opener=null;window.close()">  <br><input type=button value=关闭 onclick="window.opener=null;window.close()">   <br><!-- IE5.5+ 不会有弹出提C?-->   </p> <p><OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 <br>height=0 width=0></OBJECT>   <br><input type=button value=关闭H口 onclick=document.all.WebBrowser.ExecWB(45,1)>   <br></body>  <br></html>  </p> <p>关键是在onload事g中加入:  <br>window.opener=null;window.close()  </p> <p><br>预读囄Q?<br><SCRIPT LANGUAGE="JavaScript"> </p> <p><!-- This script and many more are available free online at --> <br><!-- The JavaScript Source!! <a href=http://javascript.internet.com <br>target=_blank>http://javascript.internet.com --> </p> <p><!-- Begin </p> <p>image1 = new Image(); <br>image1.src = "image1.gif"; </p> <p>image2 = new Image(); <br>image2.src = "image2.gif"; </p> <p>// End --> <br></script> </p> <p> </p> <p>关于两个|页h交互的问?nbsp; <br>JS处理ҎQ?nbsp; </p> <p>a.htm  </p> <p><a href="b.htm" target=blank>发表留言</a>  <br><script>  <br>alert("wwwwwwwwwwwwwwwwwwwwwwwwww");  <br></script>  </p> <p>b.htm  </p> <p><script language="javascript">  <br>//window.opener.location.reload();h父窗?nbsp; <br>//window.opener.location="2.htm"http://重定向父H口?.htm?nbsp; <br>function closewindow()  <br>{  <br>window.opener.location.reload();  <br>self.close();  <br>window.opener.document.write("sssssssssssssssssss");  <br>}  <br></script>  <br><a href="b.htm" target=blank onclick="closewindow();">关闭</a>  </p> <p> </p> <p>后台处理ҎQ?nbsp; </p> <p>private btnForSubmit(Object sender,EventArgs e)  <br>{  <br> .............  <br> Response.Write("<script>window.opener.document.execCommand('refresh');<br>window.opener='';window.close();</script>");  <br>//string str="<script>window.opener.document.execCommand('refresh');<br>window.opener='';window.close();</script>";  <br>//this.RegisterStartupScript("mycode",str);  <br>external.m2_blocked()、external.m2_blocked()Ҏ使用详解 </p> <p> Javascript有许多内建的Ҏ来生对话框Q如Qwindow.alert(), <br>window.confirm(),window.prompt().{?然而IE提供更多的方法支持对话框。如Q?</p> <p>  external.m2_blocked() (IE 4+ 支持) <br>  external.m2_blocked() (IE 5+ 支持) </p> <p><br> window.external.m2_blocked()Ҏ用来创徏一个显CHTML内容的模态对话框Q?br>׃是对话框Q因此它q没有一般用window.open()打开的窗口的所有属性?<br> window.external.m2_blocked()Ҏ用来创徏一个显CHTML内容的非模态对话框?</p> <p> 当我们用external.m2_blocked()打开H口Ӟ不必用window.close()d闭它Q?br>当以非模态方式[IE5]打开Ӟ 打开对话框的H口仍可以进行其他的操作Q即对话?br>不L最上面的焦点,当打开它的H口QRQ改变时Q它自动关闭。而模态[QIQ]<br>方式的对话框始终有焦点(焦点不可U走Q直到它关闭Q。模态对话框和打开它的H?br>口相联系Q因此我们打开另外的窗口时Q他们的链接关系依然保存Qƈ且隐藏在zd<br>H口的下面?</p> <p>使用Ҏ如下Q?<br> vReturnValue=window.external.m2_blocked(sURL [,vArguments] [,sFeatures]) <br> vReturnValue=window.external.m2_blocked(sURL [,vArguments] [,sFeatures]) <br>参数说明Q?<br> sURL <br> 必选参敎ͼcdQ字W串。用来指定对话框要显C的文档的URL?<br> vArguments <br> 可选参敎ͼcdQ变体。用来向对话框传递参数。传递的参数cd不限Q包括数l等?br>对话框通过window.dialogArguments来取得传递进来的参数?<br> sFeatures <br> 可选参敎ͼcdQ字W串。用来描q对话框的外观等信息Q可以用以下的一个或几个Q?br>用分?#8220;;”隔开?<br>  dialogHeight 对话框高度,不小于1Q0pxQテQ4中dialogHeight ?dialogWidth<br> 默认的单位是emQ而テQ5中是pxQؓ方便其见Q在定义modal方式的对话框Ӟ用px<br>做单位?<br>   dialogWidth: 对话框宽度?<br>   dialogLeft: 距离桌面左的距离?<br>   dialogTop: L面上的距R?<br>   center: {yes | no | 1 | 0 }Q窗口是否居中,默认yesQ但仍可以指定高度和宽度?<br>   help: {yes | no | 1 | 0 }Q是否显C帮助按钮,默认yes?<br>   resizable: {yes | no | 1 | 0 } [QIQ+]Q是否可被改变大。默认no?<br>   status: {yes | no | 1 | 0 } [IE5+]Q是否显C状态栏。默认ؓyes[ Modeless]<br>或no[Modal]?<br>  scroll:{ yes | no | 1 | 0 | on | off }Q指明对话框是否昄滚动条。默认ؓyes?</p> <p>  q有几个属性是用在HTA中的Q在一般的|页中一般不使用?<br>  dialogHide:{ yes | no | 1 | 0 | on | off }Q在打印或者打印预览时对话框是否隐藏?br>默认为no?<br>  edge:{ sunken | raised }Q指明对话框的边框样式。默认ؓraised?<br>  unadorned:{ yes | no | 1 | 0 | on | off }Q默认ؓno?</p> <p> 传入参数Q?<br> 要想对话框传递参敎ͼ是通过vArguments来进行传递的。类型不限制Q对于字W串cdQ?br>最大ؓ4096个字W。也可以传递对象,例如Q?</p> <p> test1.htm <br> ==================== <br> <script> <br>  var mxh1 = new Array("mxh","net_lover","孟子E?) <br>  var mxh2 = window.open("about:blank","window_mxh") <br>  // 向对话框传递数l?<br>  window.external.m2_blocked("test2.htm",mxh1) <br>  // 向对话框传递window对象 <br>  window.external.m2_blocked("test3.htm",mxh2) <br> </script> </p> <p> test2.htm <br> ==================== <br> <script> <br>  var a = window.dialogArguments <br>  alert("您传递的参数为:" + a) <br> </script> </p> <p> test3.htm <br> ==================== <br> <script> <br>  var a = window.dialogArguments <br>  alert("您传递的参数为window对象Q名Uͼ" + a.name) <br> </script> </p> <p> 可以通过window.returnValue向打开对话框的H口q回信息Q当然也可以是对象?br>例如Q?</p> <p> test4.htm <br> =================== <br> <script> <br>  var a = window.external.m2_blocked("test5.htm") <br>  for(i=0;i<a.length;i++) alert(a[i]) <br> </script> </p> <p> test5.htm <br> =================== <br> <script> <br> function sendTo() <br> { <br>  var a=new Array("a","b") <br>  window.returnValue = a <br>  window.close() <br> } <br> </script> <br> <body> <br> <form> <br>  <input value="q回" type=button onclick="sendTo()"> <br> </form> </p> <p> 常见问题Q?<br> 1Q如何在模态对话框中进行提交而不新开H口Q?<br> 如果??览器是IE5.5+,可以在对话框中用带name属性的iframeQ提交时可以<br>制定targetiframe的name。对于IE4+Q你可以用高度ؓ0的frame来作Q例子, </p> <p> test6.htm <br> =================== <br> <script> <br>  window.external.m2_blocked("test7.htm") <br> </script> </p> <p> test7.htm <br> =================== <br> if(window.location.search) alert(window.location.search) <br> <frameset rows="0,*"> <br>  <frame src="about:blank"> <br>  <frame src="test8.htm"> <br> </frameset> </p> <p> test8.htm <br> =================== <br> <form target="_self" method="get"> <br> <input name=txt value="test"> <br> <input type=submit> <br> </form> <br> <script> <br> if(window.location.search) alert(window.location.search) <br> </script> <br> 2,可以通过<a href="http://servername/virtualdirname/test.htm?name=mxh"><font color=#444444>http://servername/virtualdirname/test.htm?name=mxh</font></a>方式直接?br>对话框传递参数吗Q?<br> {案是不能。但在frame里是可以的?<br>//屏蔽 F5 h?</p> <p><br>function document.onkeydown() <br>{ <br>    var k = window.event.keyCode; <br>    if (k == 116)                   //屏蔽 F5 h?<br>    { <br>        window.event.keyCode    = 0; <br>        window.event.returnValue= false; <br>    } <br>} </p> <p><br><script language="Javascript"> <br> //屏蔽鼠标右键、Ctrl+N、Shift+F10、F5h、退格键 <br> //屏蔽F1帮助 <br>function window.onhelp() <br>{ <br>   return false <br>} <br>function KeyDown() <br>{ <br>  //alert(event.keyCode); <br>   //屏蔽 Alt+ 方向?← 屏蔽 Alt+ 方向?→ <br>  if ((window.event.altKey)&&((window.event.keyCode==37)||<br>(window.event.keyCode==39))) <br>  {   <br>     //alert("不准你用ALT+方向键前q或后退|页Q?); <br>     event.returnValue=false; <br>  } <br>  //屏蔽退格删除键,屏蔽 F5 h?Ctrl + R <br>  if ((event.keyCode==116)||(event.ctrlKey && event.keyCode==82)) <br>  {  <br>     event.keyCode=0; <br>     event.returnValue=false; <br>  }  <br>   <br>  //屏蔽 Ctrl+n <br>  if ((event.ctrlKey)&&(event.keyCode==78)) <br>  {   <br>     event.returnValue=false; <br>  } <br>   <br>  //屏蔽 shift+F10 <br>  if ((event.shiftKey)&&(event.keyCode==121)) <br>  {  <br>     event.returnValue=false; <br>  } <br>   <br>  //屏蔽 shift 加鼠标左键新开一|页 <br>  if (window.event.srcElement.tagName == "A" && window.event.shiftKey)  <br>  { <br>    window.event.returnValue = false; <br>  } <br>       <br>   //屏蔽Alt+F4 <br>  if ((window.event.altKey)&&(window.event.keyCode==115)) <br>  { <br>      window.external.m2_blocked("about:blank","","dialogWidth:1px;dialogheight:1px"); <br>      return false; <br>  } <br>   <br>  //屏蔽Ctrl+A <br>  if((event.ctrlKey)&&(event.keyCode==65)) <br>  { <br>   return false; <br>  } <br>     <br>} <br></script> <br></body> <br></HTML>  <br></p> <img src ="http://www.aygfsteel.com/wealupa/aggbug/115943.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wealupa/" target="_blank">常言W?/a> 2007-05-08 14:43 <a href="http://www.aygfsteel.com/wealupa/archive/2007/05/08/115943.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript技?/title><link>http://www.aygfsteel.com/wealupa/archive/2006/12/26/90126.html</link><dc:creator>常言W?/dc:creator><author>常言W?/author><pubDate>Tue, 26 Dec 2006 07:43:00 GMT</pubDate><guid>http://www.aygfsteel.com/wealupa/archive/2006/12/26/90126.html</guid><wfw:comment>http://www.aygfsteel.com/wealupa/comments/90126.html</wfw:comment><comments>http://www.aygfsteel.com/wealupa/archive/2006/12/26/90126.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wealupa/comments/commentRss/90126.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wealupa/services/trackbacks/90126.html</trackback:ping><description><![CDATA[<div> <ul> <li><font size=2>事g源对?<br>event.srcElement.tagName <br>event.srcElement.type </font> <li><font size=2>捕获释放 event.srcElement.setCapture(); <br>event.srcElement.releaseCapture(); </font> <li><font size=2>事g按键 <br>event.keyCode <br>event.shiftKey <br>event.altKey <br>event.ctrlKey </font> <li><font size=2>事gq回?<br>event.returnValue </font> <li><font size=2>鼠标位置 event.x <br>event.y </font> <li><font size=2>H体zd元素 document.activeElement </font> <li><font size=2>l定事g <br>document.captureEvents(Event.KEYDOWN); </font> <li><font size=2>讉KH体元素 document.all("txt").focus(); <br>document.all("txt").select(); </font> <li><font size=2>H体命o <br>document.execCommand </font> <li><font size=2>H体COOKIE document.cookie </font> <li><font size=2>菜单事g <br>document.oncontextmenu </font> <li><font size=2>创徏元素 document.createElement("SPAN"); </font> <li><font size=2>Ҏ鼠标获得元素Q?document.elementFromPoint(event.x,event.y).tagName=="TD document.elementFromPoint(event.x,event.y).appendChild(ms) </font> <li><font size=2>H体囄 <br>document.images[索引] </font> <li><font size=2>H体事gl定 document.onmousedown=scrollwindow; </font> <li><font size=2>元素 <br>document.H体.elements[索引] </font> <li><font size=2>对象l定事g document.all.xxx.detachEvent('onclick',a); </font> <li><font size=2>插g数目 <br>navigator.plugins </font> <li><font size=2>取变量类?typeof($js_libpath) == "undefined" </font> <li><font size=2>下拉?下拉?options[索引] <br>下拉?options.length </font> <li><font size=2>查找对象 <br>document.getElementsByName("r1"); <br>document.getElementById(id); </font> <li><font size=2>定时 timer=setInterval('scrollwindow()',delay); <br>clearInterval(timer); </font> <li><font size=2>UNCODE~码 escape() ,unescape </font> <li><font size=2>父对?<br>obj.parentElement(dhtml) <br>obj.parentNode(dom) </font> <li><font size=2>交换表的?TableID.moveRow(2,1) </font> <li><font size=2>替换CSS document.all.csss.href = "a.css"; </font> <li><font size=2>q排昄 display:inline </font> <li><font size=2>隐藏焦点 hidefocus=true </font> <li><font size=2>Ҏ宽度换行 style="word-break:break-all" </font> <li><font size=2>自动h <meta HTTP-EQUIV="refresh" CONTENT="8;URL=http://c98.yeah.net"> </font> <li><font size=2>单邮?<a href="</font> <a href="mailto:aaa@bbb.com?subject=ccc&amp;amp;body=xxxyyy"><font color=#0000ff size=2><u>mailto:aaa@bbb.com?subject=ccc&body=xxxyyy</u> </font></a><font size=2>"> </font> <li><font size=2>快速{C|?obj.scrollIntoView(true) </font> <li><font size=2>?<a name="first"> <br><a href="#first">anchors</a> </font> <li><font size=2>|页传递参?location.search(); </font> <li><font size=2>可编?obj. </font> <li><font size=2>执行菜单命o <br>obj.execCommand </font> <li><font size=2>双字节字W?<br>/[^x00-xff]/ <br>汉字 <br>/[u4e00-u9fa5]/ </font> <li><font size=2>让英文字W串出表格宽度自动换行 <br>word-wrap: break-word; word-break: break-all; </font> <li><font size=2>透明背景 <br><IFRAME src="1.htm" width=300 height=180 allowtransparency></iframe> </font> <li><font size=2>获得style内容 obj.style.cssText </font> <li><font size=2>HTML标签 <br>document.documentElement.innerHTML </font> <li><font size=2>W一个style标签 <br>document.styleSheets[0] </font> <li><font size=2>style标签里的W一个样?<br>document.styleSheets[0].rules[0] </font> <li><font size=2>防止点击I链接时Q页面往往重置到页首端?<a href="javascript:function()">word</a> </font> <li><font size=2>上一|页?<br>asp: <br>request.servervariables("HTTP_REFERER") <br>javascript: <br>document.referrer </font> <li><font size=2>释放内存 CollectGarbage(); </font> <li><font size=2>止右键 <br>document.oncontextmenu = function() { return false;} </font> <li><font size=2>止保存 <br><noscript><iframe src="*.htm"></iframe></noscript> </font> <li><font size=2>止选取<body oncontextmenu=<span>"return false"</span> ondragstart=<span>"return false"</span> onselectstart =<span>"return false"</span> onselect=<span>"document.selection.empty()"</span> oncopy=<span>"document.selection.empty()"</span> onbeforecopy=<span>"return false"</span>onmouseup=<span>"document.selection.empty()></span><span></span></font> <li><font size=2>止_脓 <br><input type=text onpaste="return false"> </font> <li><font size=2>地址栏图?<br><link rel="Shortcut Icon" href="favicon.ico"> <br>favicon.ico 名字最好不?6*16?6?放虚拟目录根目录?</font> <li><font size=2>收藏栏图?<br><link rel="Bookmark" href="favicon.ico"> </font> <li><font size=2>查看源码 <br><input type=button value=查看|页源代?onclick="window.location = 'view-source:'+ 'http://www.csdn.net/'"> </font> <li><font size=2>关闭输入?<br><input style="ime-mode:disabled"> </font> <li><font size=2>自动全?<br><input type=text name=text1 value="123" onfocus="this.select()"> </font> <li><font size=2>ENTER键可以让光标Ud下一个输入框 <input onkeydown="if(event.keyCode==13)event.keyCode=9"> </font> <li><font size=2>文本框的默认?<input type=text value="123" onfocus="alert(this.defaultValue)"> </font> <li><font size=2>title换行 obj.title = "123 sdfs " </font> <li><font size=2>获得旉所代表的微U?var n1 = new Date("2004-10-10".replace(/-/g, "/")).getTime() </font> <li><font size=2>H口是否关闭 win.closed </font> <li><font size=2>checkbox扁^ <input type=checkbox style="position: absolute; clip:rect(5px 15px 15px 5px)"><br> </font> <li><font size=2>获取选中内容 document.selection.createRange().duplicate().text </font> <li><font size=2>自动完成功能 <input type=text autocomplete=on>打开该功?<br><input type=text autocomplete=off>关闭该功?</font> <li><font size=2>H口最大化 <br><body onload="window.resizeTo(window.screen.width - 4,window.screen.height-50);window.moveTo(-4,-4)"> </font> <li><font size=2>无关闭按钮IE window.open("aa.htm", "meizz", "fullscreen=7"); </font> <li><font size=2>l一~码/解码 alert(decodeURIComponent(encodeURIComponent("http://你好.com?as= hehe"))) <br>encodeURIComponent?:"?/"?;" ?"?"也编?</font> <li><font size=2>表格行指C?<tr onmouseover="this.bgColor='#f0f0f0'" onmouseout="this.bgColor='#ffffff'"> </font> <p><br><font size=2>//各种寸 </font></p> <div><font size=2>s += </font><font size=2><font face="Courier New"><span>"rn|页可见区域宽:"</span>+ document.body.clientWidth; <br>s += <span>"rn|页可见区域高:"</span>+ document.body.clientHeight; <br>s += <span>"rn|页可见区域高:"</span>+ document.body.offsetWeight +<span>" (包括边线的宽)"</span>; <br>s += <span>"rn|页可见区域高:"</span>+ document.body.offsetHeight +<span>" (包括边线的宽)"</span>; <br>s += <span>"rn|页正文全文宽:"</span>+ document.body.scrollWidth; <br>s += <span>"rn|页正文全文高:"</span>+ document.body.scrollHeight; <br>s += <span>"rn|页被卷ȝ高:"</span>+ document.body.scrollTop; <br>s += <span>"rn|页被卷ȝ左:"</span>+ document.body.scrollLeft; <br>s += <span>"rn|页正文部分上:"</span>+ window.screenTop; <br>s += <span>"rn|页正文部分左:"</span>+ window.screenLeft; <br>s += <span>"rn屏幕分L率的高:"</span>+ window.screen.height; <br>s += <span>"rn屏幕分L率的宽:"</span>+ window.screen.width; <br>s += <span>"rn屏幕可用工作区高度:"</span>+ window.screen.availHeight; <br>s += <span>"rn屏幕可用工作区宽度:"</span></font>+ window.screen.availWidth; </font></div> </li> </ul> <p><font size=2>//qo数字 </font></p> <p><font size=2></font> </p> <p><font size=2>//Ҏ用?</font></p> <p><font size=2></font> </p> <p><font size=2>//不缓?</font></p> <p><font size=2></font> </p> <p><font size=2></font></p> <br><font size=2>//正则匚w </font> <p> </p> <p><font size=2>//无提C关?</font></p> <div><font size=2><font face="Courier New"><span>function</span> Close() <br>{ <br><span>var</span> ua=navigator.userAgent <br><span>var</span> ie=navigator.appName==<span>"Microsoft Internet Explorer"</span>?<span>true</span>:false <br><span>if</span>(ie) <br>{ <br><span>var</span> IEversion=parseFloat(ua.substring(ua.indexOf(<span>"MSIE "</span>)+5,ua.indexOf(<span>";"</span>,ua.indexOf(<span>"MSIE "</span>)))) <br><span>if</span>(IEversion< 5.5) <br>{ <br><span>var</span> str = '<object id=noTipClose classid=<span>"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"</span>>' <br>str += '<param name=<span>"Command"</span> value=<span>"Close"</span>></object>'; <br>document.body.insertAdjacentHTML(<span>"beforeEnd"</span>, str); <br>document.all.noTipClose.Click(); <br>} <br>else <br>{ <br>window.opener =<span>null</span></font>; <br>window.close(); <br>} <br>} <br>else <br>{ <br>window.close() <br>} <br>} </font></div> <p><font size=2>//取得控g得绝对位|?1) </font></p> <div><font size=2><script language=</font> <font face="Courier New"><font size=2><span>"javascript"</span>> <br><span>function</span> getoffset(e) <br>{ <br><span>var</span> t=e.offsetTop; <br><span>var</span> l=e.offsetLeft; <br><span>while</span>(e=e.offsetParent) <br>{ <br>t+=e.offsetTop; <br>l+=e.offsetLeft; <br>} <br><span>var</span> rec = <span>new</span><span>Array</span>(1); <br>rec[0] = t; <br>rec[1] = l; <br><span>return</span> rec <br>} <br></script> </font></font></div> <p><font size=2>//获得控g的绝对位|?2) </font></p> <div><font size=2>oRect = obj.getBoundingClientRect(); <br>oRect.left <br>oRect. </font></div> <p><font size=2>//最化,最大化,关闭 </font></p> <p><font size=2></font> </p> <p><font size=2></font> </p> <p><font size=2></font></p> <font size=2>//光标停在文字最?</font> <p> </p> <p><font size=2>//面q入和退出的Ҏ </font></p> <div><font size=2>q入面<meta http-equiv=</font> <font size=2><font face="Courier New"><span>"Page-Enter"</span> content=<span>"revealTrans(duration=x, transition=y)"</span>> <br>推出面<meta http-equiv=<span>"Page-Exit"</span> content=<span>"revealTrans(duration=x, transition=y)"</span></font>> <br>q个是页面被载入和调出时的一些特效。duration表示Ҏ的持l时_以秒为单位。transition表示?<br>用哪U特效,取gؓ1-23: <br>  0 矩Ş~小 <br>  1 矩Ş扩大 <br>  2 圆Ş~小 <br>  3 圆Ş扩大 <br>  4 下到上刷?<br>  5 上到下刷?<br>  6 左到叛_?<br>  7 叛_左刷?<br>  8 竖百叶窗 <br>  9 横百叶窗 <br>  10 错位横百叶窗 <br>  11 错位竖百叶窗 <br>  12 Ҏ?<br>  13 左右C间刷?<br>  14 中间到左叛_?<br>  15 中间C?<br>  16 上下C?<br>  17 右下到左?<br>  18 右上到左?<br>  19 左上到右?<br>  20 左下到右?<br>  21 横条 <br>  22 竖条 <br>  23 </font></div> <p><font size=2>//|页是否被检?</font></p> <p><font size=2></font> </p> <p><br><font size=2>//打印分页 </font></p> <p><font size=2></font> </p> <p><br><font size=2>//讄打印 </font></p> <div><font size=2><object id=</font> <font face="Courier New"><font size=2><span>"factory"</span> style=<span>"display:none"</span> viewastext <br>classid=<span>"clsid:1663ed61-23eb-11d2-b92f-008048fdd814"</span><br>codebase=<span>"http:<span>//www.meadroid.com/scriptx/ScriptX.cab#Version=5,60,0,360"</span></span><br>></object> <br><input type=button value=面讄 onclick=<span>"factory.printing.PageSetup()"</span>> <br><input type=button value=打印预览 onclick=<span>"factory.printing.Preview()"</span>> <br><br><script language=javascript> <br><span>function</span> window.onload() <br>{ <br><span>// -- advanced features </span><br>factory.printing.SetMarginMeasure(2) <span>// measure margins in inches </span><br>factory.printing.SetPageRange(<span>false</span>, 1, 3) <span>// need pages from 1 to 3 </span><br>factory.printing.printer = <span>"HP DeskJet 870C"</span><br>factory.printing.copies = 2 <br>factory.printing.collate = true <br>factory.printing.paperSize = <span>"A4"</span><br>factory.printing.paperSource = <span>"Manual feed"</span><br><span>// -- basic features </span><br>factory.printing.header = <span>"居左昄&b居中昄&b居右昄늠Q第&p??amp;P?</span><br>factory.printing.footer = <span>"Q自定义脚Q?</span><br>factory.printing.portrait = false <br>factory.printing.leftMargin = 0.75 <br>factory.printing.topMargin = 1.5 <br>factory.printing.rightMargin = 0.75 <br>factory.printing.bottomMargin = 1.5 <br>} <br><span>function</span> Print(frame) { <br>factory.printing.Print(<span>true</span>, frame) <span>// print with prompt </span><br>} <br></script> <br><input type=button value=<span>"打印本页"</span> onclick=<span>"factory.printing.Print(false)"</span>> <br><input type=button value=<span>"面讄"</span> onclick=<span>"factory.printing.PageSetup()"</span>> <br><input type=button value=<span>"打印预览"</span> onclick=<span>"factory.printing.Preview()"</span>><br> <br><a href=<span>"http:<span>//www.meadroid.com/scriptx/docs/printdoc.htm?static"</span> target=_blank>具体使用手册Q更多信息,点这?lt;/a> </span><br></font></font></div> <p><font size=2>//自带的打印预?</font></p> <div><font size=2>WebBrowser.ExecWB(1,1) 打开 <br>Web.ExecWB(2,1) 关闭现在所有的IEH口Qƈ打开一个新H口 <br>Web.ExecWB(4,1) 保存|页 <br>Web.ExecWB(6,1) 打印 <br>Web.ExecWB(7,1) 打印预览 <br>Web.ExecWB(8,1) 打印面讄 <br>Web.ExecWB(10,1) 查看面属?<br>Web.ExecWB(15,1) 好像是撤销Q有待确?<br>Web.ExecWB(17,1) 全?<br>Web.ExecWB(22,1) h <br>Web.ExecWB(45,1) 关闭H体无提C?<br><style media=print> <br>.Noprint{display:none;}<!--用本样式在打印时隐藏非打印项?-> <br>.PageNext{page-break-after: always;}<!--控制分页--> <br></style> <br><object id=</font> <font size=2><font face="Courier New"><span>"WebBrowser"</span> width=0 height=0 classid=<span>"CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"</span>> <br></object> <br><br><center class=<span>"Noprint"</span></font> > <br><input type=button value=打印 onclick=document.all.WebBrowser.ExecWB(6,1)> <br><input type=button value=直接打印 onclick=document.all.WebBrowser.ExecWB(6,6)> <br><input type=button value=面讄 onclick=document.all.WebBrowser.ExecWB(8,1)> <br></p> <br><p> <input type=button value=打印预览 onclick=document.all.WebBrowser.ExecWB(7,1)> <br></center> </font></div> <p><font size=2>//L打印时的늜脚 </font></p> <div><font size=2><script language=</font> <font size=2><font face="Courier New"><span>"JavaScript"</span>> <br><span>var</span> HKEY_Root,HKEY_Path,HKEY_Key; <br>HKEY_Root=<span>"HKEY_CURRENT_USER"</span>; <br>HKEY_Path=<span>"SoftwareMicrosoftInternet ExplorerPageSetup"</span>; <br><span>//讄|页打印的页眉页脚ؓI?</span><br><span>function</span> PageSetup_Null() <br>{ <br>try <br>{ <br><span>var</span> Wsh=<span>new</span><span>ActiveXObject</span>(<span>"WScript.Shell"</span>); <br>HKEY_Key=<span>"header"</span>; <br>Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,<span>""</span>); <br>HKEY_Key=<span>"footer"</span>; <br>Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,<span>""</span>); <br>} <br><span>catch</span>(e){} <br>} <br><span>//讄|页打印的页眉页脚ؓ默认?</span><br><span>function</span> PageSetup_Default() <br>{ <br>try <br>{ <br><span>var</span> Wsh=<span>new</span><span>ActiveXObject</span>(<span>"WScript.Shell"</span>); <br>HKEY_Key=<span>"header"</span>; <br>Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,<span>"&w&b늠,&p/&P"</span>); <br>HKEY_Key=<span>"footer"</span>; <br>Wsh.RegWrite(HKEY_Root+HKEY_Path+HKEY_Key,<span>"&u&b&d"</span>); <br>} <br><span>catch</span>(e){} <br>} <br></script> <br><input type=<span>"button"</span> value=<span>"清空늠"</span> onclick=PageSetup_Null()> <br><input type=<span>"button"</span> value=<span>"恢复늠"</span></font> onclick=PageSetup_Default()> </font></div> <p><font size=2>//览器验?</font></p> <div><font size=2><font face="Courier New"><span>function</span> checkBrowser() <br>{ <br><span>this</span>.ver=navigator.appVersion <br><span>this</span>.dom=document.getElementById?1:0 <br><span>this</span>.ie6=(<span>this</span>.ver.indexOf(<span>"MSIE 6"</span>)>-1 && <span>this</span>.dom)?1:0; <br><span>this</span>.ie5=(<span>this</span>.ver.indexOf(<span>"MSIE 5"</span>)>-1 && <span>this</span>.dom)?1:0; <br><span>this</span>.ie4=(document.all && !<span>this</span>.dom)?1:0; <br><span>this</span>.ns5=(<span>this</span>.dom && parseInt(<span>this</span>.ver) >= 5) ?1:0; <br><span>this</span>.ns4=(document.layers && !<span>this</span>.dom)?1:0; <br><span>this</span>.mac=(<span>this</span>.ver.indexOf('Mac') > -1) ?1:0; <br><span>this</span>.ope=(navigator.userAgent.indexOf('Opera')>-1); <br><span>this</span>.ie=(<span>this</span>.ie6 || <span>this</span>.ie5 || <span>this</span>.ie4) <br><span>this</span>.ns=(<span>this</span>.ns4 || <span>this</span>.ns5) <br><span>this</span>.bw=(<span>this</span>.ie6 || <span>this</span>.ie5 || <span>this</span>.ie4 || <span>this</span>.ns5 || <span>this</span>.ns4 || <span>this</span>.mac || <span>this</span>.ope) <br><span>this</span>.nbw=(!<span>this</span>.bw) <br><span>return</span><span>this</span></font>; <br>} </font></div> <p><font size=2>//计算内容宽和?</font></p> <p><font size=2></font> </p> <div><font size=2><SCRIPT language=</font> <font size=2><font face="Courier New"><span>"javascript"</span>> <br><span>function</span> test(obj) <br>{ <br><span>var</span> range = obj.createTextRange(); <br>alert(<span>"内容区宽? "</span> + range.boundingWidth <br>+ <span>"pxrn内容区高? "</span> + range.boundingHeight + <span>"px"</span>); <br><br>} <br></SCRIPT> <br><BODY> <br><Textarea id=<span>"txt"</span> height=<span>"150"</span>>sdf</textarea><INPUT type=<span>"button"</span> value=<span>"计算内容宽度"</span> onClick=<span>"test(txt)"</span></font>> <br></BODY> </font></div> <p><font size=2>//无模式的提示?</font></p> <p><font size=2></font> </p> <div><font size=2><font face="Courier New"><span>function</span> modelessAlert(Msg) <br>{ <br>window.showModelessDialog(<span>"javascript:alert(""</span>+escape(Msg)+<span>"");window.close();"</span>,<span>""</span>,<span>"status:no;resizable:no;help:no;dialogHeight:height:30px;dialogHeight:40px;"</span></font>); <br>} </font></div> <p><font size=2></font> </p> <p><font size=2></font></p> <font size=2>//屏蔽按键 </font> <p> </p> <p><font size=2>//Ud的图层,拖动 </font></p> <div><font size=2>1.<span style='position:absolute;width:200;height:200;background:red' onmousedown=MouseDown(</font> <font size=2><font face="Courier New"><span>this</span>) onmousemove=MouseMove() onmouseup=MouseUp()>meizz</span> <br><script language=javascript> <br><span>var</span> Obj; <br><span>function</span> MouseDown(obj) <br>{ <br>Obj=obj; <br>Obj.setCapture(); <br>Obj.l=event.x-Obj.style.pixelLeft; <br>Obj.t=event.y-Obj.style.pixelTop; <br>} <br><span>function</span> MouseMove() <br>{ <br><span>if</span>(Obj!=<span>null</span>) <br>{ <br>Obj.style.left = event.x-Obj.l; <br>Obj.style.top = event.y-Obj.t; <br>} <br>} <br><span>function</span> MouseUp() <br>{ <br><span>if</span>(Obj!=<span>null</span>) <br>{ <br>Obj.releaseCapture(); <br>Obj=<span>null</span>; <br>} <br>} <br></script> <br>2. <br><div id=<span>"myDiv"</span> src=<span>"logo.gif"</span> ondrag=<span>"doDrag();"</span> onmouseover=<span>"this.style.cursor='hand'"</span> style=<span>"position:absolute;left=100;top=100;"</span> onmousedown=<span>"doMouseDown();"</span>> <br><a href=<span>"#"</span> onclick=<span>"return false"</span>><h1>wlecome</h1></a> <br></div> <br><script language=<span>"JavaScript"</span> type=<span>"text/javascript"</span>> <br><span>var</span> orgMouseX; <br><span>var</span> orgMouseY; <br><span>var</span> orgObjX; <br><span>var</span> orgObjY; <br><span>function</span> doDrag() <br>{ <br><span>var</span> myObject=document.all.myDiv; <br><br><span>var</span> x=event.clientX; <br><span>var</span> y=event.clientY; <br>myObject.style.left=x-(orgMouseX-orgObjX); <br>myObject.style.top=y-(orgMouseY-orgObjY); <br><br>} <br><span>function</span></font> doMouseDown() <br>{ <br>orgMouseX=event.clientX; <br>orgMouseY=event.clientY; <br>orgObjX=parseInt(document.all.myDiv.style.left); <br>orgObjY=parseInt(document.all.myDiv.style.top); <br>} <br><br></script> </font></div> <p><font size=2>//文档状态改?</font></p> <div><font size=2><iframe src=</font> <font face="Courier New"><font size=2><span>"a.html"</span> id=<span>"f"</span> name=<span>"f"</span> scrolling=<span>"no"</span> frameborder=0 marginwidth=0 marginheight=0></iframe> <br><script> <br><span>var</span> doc=window.frames[<span>"f"</span>].document; <br><span>function</span> s(){ <br><span>if</span> (doc.readyState==<span>"complete"</span>){ <br>document.all.f.style.height=doc.body.scrollHeight <br>document.all.f.style.width=doc.body.scrollWidth <br>} <br>} <br>doc.onreadystatechange=s <br></script> <br><span></span></font></font></div> <p><font size=2>//h后不变的文本?</font></p> <p><font size=2></font> </p> <p><font size=2>//讉K剪脓?</font></p> <p><font size=2></font> </p> <p><font size=2>//操作COOKIE </font></p> <div><font size=2><font face="Courier New"><span>function</span> SetCookie(sName, sValue) <br>{ <br>document.cookie = sName + <span>"="</span> + escape(sValue) + <span>"; "</span>; <br>} <br><span>function</span> GetCookie(sName) <br>{ <br><span>var</span> aCookie = document.cookie.split(<span>"; "</span>); <br>for (<span>var</span> i=0; i < aCookie.length; i++) <br>{ <br><br><span>var</span> aCrumb = aCookie[i].split(<span>"="</span>); <br><span>if</span> (sName == aCrumb[0]) <br><span>return</span> unescape(aCrumb[1]); <br>} <br><br>} <br><span>function</span> DelCookie(sName) <br>{ <br>document.cookie = sName + <span>"="</span> + escape(sValue) + <span>"; expires=Fri, 31 Dec 1999 23:59:59 GMT;"</span></font>; <br>} </font></div> <p><font size=2>//setTimeout增加参数 </font></p> <div><font size=2><script> <br></font><font size=2><font face="Courier New"><span>var</span> _st = window.setTimeout; <br>window.setTimeout = <span>function</span>(fRef, mDelay) { <br><span>if</span>(typeof fRef == '<span>function</span>'){ <br><span>var</span> argu = <span>Array</span>.prototype.slice.call(arguments,2); <br><span>var</span> f = (<span>function</span>(){ fRef.apply(<span>null</span>, argu); }); <br><span>return</span> _st(f, mDelay); <br>} <br><span>return</span> _st(fRef,mDelay); <br>} <br><span>function</span></font> test(x){ <br>alert(x); <br>} <br>window.setTimeout(test,1000,'fason'); <br></script> </font></div> <p><br><font size=2>//自定义的apply,call </font></p> <div><font size=2>Function.prototype.apply = </font><font size=2><font face="Courier New"><span>function</span> (obj, argu) { <br><span>if</span> (obj) obj.constructor.prototype._caller = <span>this</span>; <br><span>var</span> argus = <span>new</span><span>Array</span>(); <br>for (<span>var</span> i=0;i<argu.length;i++) <br>argus[i] = <span>"argu["</span> + i + <span>"]"</span>; <br><span>var</span> r; <br>eval(<span>"r = "</span> + (obj ? (<span>"obj._caller("</span> + argus.join(<span>","</span>) + <span>");"</span>) : (<span>"this("</span> + argus.join(<span>","</span>) + <span>");"</span>))); <br><span>return</span> r; <br>}; <br>Function.prototype.call = <span>function</span> (obj) { <br><span>var</span> argu = <span>new</span><span>Array</span>(); <br>for (<span>var</span> i=1;i<arguments.length;i++) <br>argu[i-1] = arguments[i]; <br><span>return</span><span>this</span></font>.apply(obj, argu); <br>}; </font></div> <p><br><font size=2>//下蝲文g </font></p> <div><font size=2><font face="Courier New"><span>function</span> DownURL(strRemoteURL,strLocalURL) <br>{ <br>try <br>{ <br><span>var</span> xmlHTTP=<span>new</span><span>ActiveXObject</span>(<span>"Microsoft.XMLHTTP"</span>); <br>xmlHTTP.open(<span>"Get"</span>,strRemoteURL,<span>false</span>); <br>xmlHTTP.send(); <br><span>var</span> adodbStream=<span>new</span><span>ActiveXObject</span>(<span>"ADODB.Stream"</span>); <br>adodbStream.Type=1;<span>//1=adTypeBinary </span><br>adodbStream.Open(); <br>adodbStream.write(xmlHTTP.responseBody); <br>adodbStream.SaveToFile(strLocalURL,2); <br>adodbStream.Close(); <br>adodbStream=<span>null</span>; <br>xmlHTTP=<span>null</span>; <br><br>} <br><span>catch</span>(e) <br>{ <br>window.confirm(<span>"下蝲URL出错!"</span>); <br>} <br><span>//window.confirm(<span>"下蝲完成."</span>); </span><br></font>} </font></div> <p><br><font size=2>//验连接是否有?</font></p> <p><font size=2></font> </p> <p><font size=2>//lg是否安装 <br>isComponentInstalled("{6B053A4B-A7EC-4D3D-4567-B8FF8A1A5739}", "componentID")) </font></p> <p><font size=2>//查网|否存?</font></p> <div><font size=2><font face="Courier New"><span>function</span> CheckURL(URL) <br>{ <br><span>var</span> xmlhttp = <span>new</span><span>ActiveXObject</span>(<span>"Microsoft.XMLHTTP"</span>); <br>xmlhttp.Open(<span>"GET"</span>,URL, <span>false</span>); <br>try <br>{ <br>xmlhttp.Send(); <br><span>var</span> result = xmlhttp.status; <br>} <br><span>catch</span>(e) {<span>return</span>(<span>false</span>); } <br><span>if</span>(result==200) <br>{ <br><span>return</span><span>true</span>; <br>} <br>xmlhttp = <span>null</span>; <br><span>return</span></font>&nb </font></div> <p><font size=2></font> </p> <div><font size=2><font face="Courier New"><span>function</span> getXML(URL) <br>{ <br><span>var</span> xmlhttp = <span>new</span><span>ActiveXObject</span>(<span>"microsoft.xmlhttp"</span>); <br>xmlhttp.Open(<span>"GET"</span>,URL, <span>false</span>); <br>try <br>{ <br>xmlhttp.Send(); <br>} <br><span>catch</span>(e){} <br><span>finally</span><br>{ <br><span>var</span> result = xmlhttp.responseText; <br><span>if</span>(result) <br>{ <br><span>if</span>(xmlhttp.Status==200) <br>{ <br><span>return</span>(<span>true</span>); <br>} <br><span>else</span><br>{ <br><span>return</span>(<span>false</span>); <br>} <br>} <br><span>else</span><br>{ <br><span>return</span>(<span>false</span></font>); <br>} <br>} <br>} </font></div> <p><font size=2>//POST代替FORM </font></p> <p><font size=2></font> </p> <div><font size=2><SCRIPT language=</font> <font size=2><font face="Courier New"><span>"VBScript"</span>> <br>Function URLEncoding(vstrIn) <br>strReturn = <span>""</span><br>For i = 1 To Len(vstrIn) <br>ThisChr = Mid(vStrIn,i,1) <br>If Abs(Asc(ThisChr)) < &HFF Then <br>strReturn = strReturn & ThisChr <br>Else <br>innerCode = Asc(ThisChr) <br>If innerCode < 0 Then <br>innerCode = innerCode + &H10000 <br>End If <br>Hight8 = (innerCode And &HFF00) &HFF <br>Low8 = innerCode And &HFF <br>strReturn = strReturn & <span>"%"</span> & Hex(Hight8) & <span>"%"</span> & Hex(Low8) <br>End If <br>Next <br>URLEncoding = strReturn <br>End Function <br>Function bytes2BSTR(vIn) <br>strReturn = <span>""</span><br>For i = 1 To LenB(vIn) <br>ThisCharCode = AscB(MidB(vIn,i,1)) <br>If ThisCharCode < &H80 Then <br>strReturn = strReturn & Chr(ThisCharCode) <br>Else <br>NextCharCode = AscB(MidB(vIn,i+1,1)) <br>strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode)) <br>i = i + 1 <br>End If <br>Next <br>bytes2BSTR = strReturn <br>End Function <br>dim strA,oReq <br>strA = URLEncoding(<span>"submit1=Submit&text1=中文"</span>) <br>set oReq = CreateObject(<span>"MSXML2.XMLHTTP"</span>) <br>oReq.open <span>"POST"</span>,<span>"http:<span>//ServerName/VDir/TstResult.asp"</span>,false </span><br>oReq.setRequestHeader <span>"Content-Length"</span>,Len(strA) <br>oReq.setRequestHeader <span>"CONTENT-TYPE"</span>,<span>"application/x-www-form-urlencoded"</span></font> <br>oReq.send strA <br>msgbox bytes2BSTR(oReq.responseBody) <br></SCRIPT> </font></div> <p><font size=2>//readyState是xmlhttpq回数据的进度,0=载入?1=未初始化,2=已蝲?3=q行?4=完成</font> </p> <p><font size=2></font> </p> <div><font size=2>(1)拖拽讉K <br>event.dataTransfer.setData(</font> <font size=2><font face="Courier New"><span>"URL"</span>, oImage.src); <br>sImageURL = event.dataTransfer.getData(<span>"URL"</span>) <br>(2)普通访?<br>window.clipboardData.setData(<span>"Text"</span>,oSource.innerText); <br>window.clipboardData.getData(<span>"Text"</span></font>); </font></div> <p><font size=2></font> </p> <div><font size=2><HTML> <br><HEAD> <br><META NAME=<font face="Courier New"><span>"save"</span> CONTENT=<span>"history"</span></font>> <br><STYLE> <br>.sHistory {behavior:url(#default#savehistory);} <br></STYLE> <br></HEAD> <br><BODY> <br><INPUT class=sHistory type=text id=oPersistInput> <br></BODY> <br></HTML> </font></div> <p><font size=2></font> </p> <div><font size=2><p style=</font> <font size=2><font face="Courier New"><span>"page-break-after:always"</span>>page1</p> <br><p style=<span>"page-break-after:always"</span></font>>page2</p> </font></div> <p><font size=2></font> </p> <div><font size=2><meta name=</font> <font size=2><font face="Courier New"><span>"ROBOTS"</span> content=<span>"属性?</span>> <br>  其中属性值有以下一? <br>  属性gؓ<span>"all"</span>: 文g被索,且页上链接可被查询; <br>  属性gؓ<span>"none"</span>: 文g不被索,而且不查询页上的链接Q?<br>  属性gؓ<span>"index"</span>: 文g被索; <br>  属性gؓ<span>"follow"</span>: 查询上的链接; <br>  属性gؓ<span>"noindex"</span>: 文g不检索,但可被查询链接; <br>  属性gؓ<span>"nofollow"</span></font>: </font></div> <p><font size=2></font> </p> <div><font size=2><object id=min classid=</font> <font size=2><font face="Courier New"><span>"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"</span>> <br><param name=<span>"Command"</span> value=<span>"Minimize"</span>></object> <br><object id=max classid=<span>"clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"</span>> <br><param name=<span>"Command"</span> value=<span>"Maximize"</span>></object> <br><OBJECT id=close classid=<span>"clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"</span>> <br><PARAM NAME=<span>"Command"</span> value=<span>"Close"</span></font>></OBJECT> <br><input type=button value=最化 onclick=min.Click()> <br><input type=button value=最大化 onclick=max.Click()> <br><input type=button value=关闭 onclick=close.Click()> </font></div> <p><font size=2></font> </p> <div><font size=2><META HTTP-EQUIV=</font> <font size=2><font face="Courier New"><span>"pragma"</span> CONTENT=<span>"no-cache"</span>> <br><META HTTP-EQUIV=<span>"Cache-Control"</span> CONTENT=<span>"no-cache, must-revalidate"</span>> <br><META HTTP-EQUIV=<span>"expires"</span> CONTENT=<span>"0"</span></font>> </font></div> <p><font size=2></font> </p> <div><font size=2><input type=button value=导入收藏?onclick=</font> <font size=2><font face="Courier New"><span>"window.external.ImportExportFavorites(true,'http:<span>//localhost');"</span>> </span><br><input type=button value=导出收藏?onclick=<span>"window.external.ImportExportFavorites(false,'http:<span>//localhost');"</span>> </span><br><input type=button value=整理收藏?onclick=<span>"window.external.ShowBrowserUI('OrganizeFavorites', null)"</span>> <br><input type=button value=语言讄 onclick=<span>"window.external.ShowBrowserUI('LanguageDialog', null)"</span>> <br><input type=button value=加入收藏?onclick=<span>"window.external.AddFavorite('http:<span>//www.google.com/', 'google')"</span>> </span><br><input type=button value=加入到频?onclick=<span>"window.external.addChannel('http:<span>//www.google.com/')"</span>> </span><br><input type=button value=加入到频?onclick=<span>"window.external.showBrowserUI('PrivacySettings',null)"</span></font>> </font></div> <p><font size=2></font> </p> <div><font size=2><input type=text onkeypress=<font face="Courier New"><span>"return event.keyCode>=48&&event.keyCode<=57||(this.value.indexOf('.')<0?event.keyCode==46:false)"</span> onpaste=<span>"return !clipboardData.getData('text').match(/D/)"</span> ondragenter=<span>"return false"</span></font>> </font></div> <p><font size=2></font> </p> <div><font size=2><html> <br><head> <br><meta http-equiv=</font> <font face="Courier New"><font size=2><span>"Content-Type"</span> content=<span>"text/html; charset=gb2312"</span>> <br><noscript><meta http-equiv=<span>"refresh"</span> content=<span>"0;url=about:noscript"</span>></noscript> <br><title>屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5h、退格键</title> <br></head> <br><body> <br><script language=<span>"Javascript"</span>><!-- <br><span>//屏蔽鼠标右键、Ctrl+N、Shift+F10、F11、F5h、退格键 </span><br><span>//Author: meizz(梅花? 2002-6-18 </span><br><span>function</span> document.oncontextmenu(){event.returnValue=<span>false</span>;}<span>//屏蔽鼠标右键 </span><br><span>function</span> window.onhelp(){<span>return</span><span>false</span>} <span>//屏蔽F1帮助 </span><br><span>function</span> document.onkeydown() <br>{ <br><span>if</span> ((window.event.altKey)&& <br>((window.event.keyCode==37)|| <span>//屏蔽 Alt+ 方向?← </span><br>(window.event.keyCode==39))) <span>//屏蔽 Alt+ 方向?→ </span><br>{ <br>alert(<span>"不准你用ALT+方向键前q或后退|页Q?</span>); <br>event.returnValue=<span>false</span>; <br>} <br></font></font><font size=2><font face="Courier New"><span>/* 注:q还不是真正地屏?Alt+ 方向键, <br>因ؓ Alt+ 方向键弹告框Ӟ按住 Alt 键不放, <br>用鼠标点掉警告框Q这U屏蔽方法就失效了。以后若 <br>有哪位高手有真正屏蔽 Alt 键的ҎQ请告知?/</span> <br><span>if</span> ((event.keyCode==8) || <span>//屏蔽退格删除键 </span><br>(event.keyCode==116)|| <span>//屏蔽 F5 h?</span><br>(event.ctrlKey && event.keyCode==82)){ <span>//Ctrl + R </span><br>event.keyCode=0; <br>event.returnValue=<span>false</span>; <br>} <br><span>if</span> (event.keyCode==122){event.keyCode=0;event.returnValue=<span>false</span>;} <span>//屏蔽F11 </span><br><span>if</span> (event.ctrlKey && event.keyCode==78) event.returnValue=<span>false</span>; <span>//屏蔽 Ctrl+n </span><br><span>if</span> (event.shiftKey && event.keyCode==121)event.returnValue=<span>false</span>; <span>//屏蔽 shift+F10 </span><br><span>if</span> (window.event.srcElement.tagName == <span>"A"</span> && window.event.shiftKey) <br>window.event.returnValue = <span>false</span>; <span>//屏蔽 shift 加鼠标左键新开一|页 </span><br><span>if</span> ((window.event.altKey)&&(window.event.keyCode==115)) <span>//屏蔽Alt+F4 </span><br>{ <br>window.showModelessDialog(<span>"about:blank"</span>,<span>""</span>,<span>"dialogWidth:1px;dialogheight:1px"</span>); <br><span>return</span><span>false</span></font>; <br>} <br>} <br></script> <br>屏蔽鼠标右键、Ctrl+N、Shift+F10、Alt+F4、F11、F5h、退格键 <br></body> <br></html> </font></div> <p><font size=2>//屏蔽打印 <br><style> <br>@media print{ <br>* {display:none} <br>} <br></style> </font></p> <p><font size=2></font> </p> <div><font size=2><script language=</font> <font size=2><font face="Courier New"><span>"javascript"</span>> <br><span>function</span> cc() <br>{ <br><span>var</span> e = event.srcElement; <br><span>var</span> r =e.createTextRange(); <br>r.moveStart('character',e.value.length); <br>r.collapse(<span>true</span>); <br>r.select(); <br>} <br></script> <br><input type=text name=text1 value=<span>"123"</span> onfocus=<span>"cc()"</span></font>> </font></div> <p><font size=2></font> </p> <div><font size=2>匚w中文字符的正则表辑ּQ?[u4e00-u9fa5] <br>匚w双字节字W?包括汉字在内)Q[^x00-xff] <br>匚wI的正则表辑ּQn[s| ]*r <br>匚wHTML标记的正则表辑ּQ?<(.*)>.*</1>|<(.*) />/ <br>匚w首尾I格的正则表辑ּQ?^s*)|(s*$)Q像vbscript那样的trim函数Q?<br>匚wEmail地址的正则表辑ּQw+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* <br>匚w|址URL的正则表辑ּQhttp:</font> <font size=2><font face="Courier New"><span>//([w-]+.)+[w-]+(/[w- ./?%&=]*)? </span><br>以下是例子: <br>利用正则表达式限制网表单里的文本框输入内容Q?<br>用正则表辑ּ限制只能输入中文Qonkeyup=<span>"value=value.replace(/[^u4E00-u9FA5]/g,'')"</span> onbeforepaste=<span>"clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"</span><br>1.用正则表辑ּ限制只能输入全角字符Q?onkeyup=<span>"value=value.replace(/[^uFF00-uFFFF]/g,'')"</span> onbeforepaste=<span>"clipboardData.setData('text',clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,''))"</span><br>2.用正则表辑ּ限制只能输入数字Qonkeyup=<span>"value=value.replace(/[^d]/g,'') "</span>onbeforepaste=<span>"clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"</span><br>3.用正则表辑ּ限制只能输入数字和英文:onkeyup=<span>"value=value.replace(/[W]/g,'') "</span>onbeforepaste=<span>"clipboardData.setData('text',clipboardData.getData('text').replace(/[^d]/g,''))"</span></font> </font></div> <p><font size=2>//消除囑փ工具?</font></p> <p><font size=2></font> </p> <div><font size=2><IMG SRC=</font> <font size=2><font face="Courier New"><span>"mypicture.jpg"</span> HEIGHT=<span>"100px"</span> WIDTH=<span>"100px"</span> GALLERYIMG=<span>"false"</span>> <br>or <br><head> <br><meta http-equiv=<span>"imagetoolbar"</span> content=<span>"no"</span>> <br></head></font> </font></div> </div> <img src ="http://www.aygfsteel.com/wealupa/aggbug/90126.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wealupa/" target="_blank">常言W?/a> 2006-12-26 15:43 <a href="http://www.aygfsteel.com/wealupa/archive/2006/12/26/90126.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaScript技?/title><link>http://www.aygfsteel.com/wealupa/archive/2006/12/16/88285.html</link><dc:creator>常言W?/dc:creator><author>常言W?/author><pubDate>Sat, 16 Dec 2006 14:54:00 GMT</pubDate><guid>http://www.aygfsteel.com/wealupa/archive/2006/12/16/88285.html</guid><wfw:comment>http://www.aygfsteel.com/wealupa/comments/88285.html</wfw:comment><comments>http://www.aygfsteel.com/wealupa/archive/2006/12/16/88285.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/wealupa/comments/commentRss/88285.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/wealupa/services/trackbacks/88285.html</trackback:ping><description><![CDATA[<h1><span style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312">1、弹出窗口L在最上面</span> </h1> <p><span style="FONT-SIZE: 10pt">[1] <body ="this.focus();"></span> </p> <p><span style="FONT-SIZE: 10pt">[2]模态窗口showModalDialog(url); 不过模式H口中对老页面无法回?打开的子H口不能得到openner,因此子窗口无法访问父H口数据. 如果要传递数据的? 只能在DialogH口中用return,然后父窗口通过var some = showModalDialog(...)得到?</span> </p> <p><span style="FONT-SIZE: 10pt">[3]非模态窗?span style="COLOR: #c60a00">window</span>.showModelessDialog</span> </p> <p><span style="FONT-SIZE: 10pt">[4]open来打开新窗?/span> </p> <br> <div><span style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312"><strong>2、输入框屏蔽输入法输?/strong> </span></div> <br> <div><span style="FONT-SIZE: 10pt">[1]style="ime-mode:disabled"  <input>中加?/span> </div> <div><span style="FONT-SIZE: 10pt">[2]onpaste="return false" 不能_脓 <body>?/span> </div> <div><span style="FONT-SIZE: 10pt">[3]oncopy="return false"  不能复制 <body>?/span> </div> <div><span style="FONT-SIZE: 10pt"></span> </div> <div><span style="FONT-SIZE: 12pt; FONT-FAMILY: 楷体_GB2312"><strong>3、各U尺?/strong> </span></div> <span style="FONT-SIZE: 10pt"> <div><br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080"> 1</span> <img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000"> LANGUAGE</span> <span style="COLOR: #0000ff">="Java"</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"><br></span><span style="COLOR: #008080"> 2</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top> <br></span><span style="COLOR: #008080"> 3</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>var s = "|页可见区域宽:"+ document .body.clientWidth; <br></span><span style="COLOR: #008080"> 4</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>s += "\r\n|页可见区域高:"+ document .body.clientHeight; <br></span><span style="COLOR: #008080"> 5</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>s += "\r\n|页可见区域高:"+ document .body.offsetWeight +" (包括边线的宽)"; <br></span><span style="COLOR: #008080"> 6</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>s += "\r\n|页可见区域高:"+ document .body.offsetHeight +" (包括边线的宽)"; <br></span><span style="COLOR: #008080"> 7</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>s += "\r\n|页正文全文宽:"+ document .body.scrollWidth; <br></span><span style="COLOR: #008080"> 8</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>s += "\r\n|页正文全文高:"+ document .body.scrollHeight; <br></span><span style="COLOR: #008080"> 9</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>s += "\r\n|页被卷ȝ高:"+ document .body.scrollTop; <br></span><span style="COLOR: #008080">10</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>s += "\r\n|页被卷ȝ左:"+ document .body.scrollLeft; <br></span><span style="COLOR: #008080">11</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>s += "\r\n|页正文部分上:"+ window .screenTop; <br></span><span style="COLOR: #008080">12</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>s += "\r\n|页正文部分左:"+ window .screenLeft; <br></span><span style="COLOR: #008080">13</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>s += "\r\n屏幕分L率的高:"+ window .screen.height; <br></span><span style="COLOR: #008080">14</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>s += "\r\n屏幕分L率的宽:"+ window .screen.width; <br></span><span style="COLOR: #008080">15</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>s += "\r\n屏幕可用工作区高度:"+ window .screen.availHeight; <br></span><span style="COLOR: #008080">16</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>s += "\r\n屏幕可用工作区宽度:"+ window .screen.availWidth; <br></span><span style="COLOR: #008080">17</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top>alert(s); <br></span><span style="COLOR: #008080">18</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top> <br></span><span style="COLOR: #008080">19</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top> </span><span style="COLOR: #0000ff"></></span> <span style="COLOR: #000000"><br></span><span style="COLOR: #008080">20</span> <span style="COLOR: #000000"><img src="http://www.aygfsteel.com/Images/OutliningIndicators/None.gif" align=top> </span></div> </div> </span> <img src ="http://www.aygfsteel.com/wealupa/aggbug/88285.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/wealupa/" target="_blank">常言W?/a> 2006-12-16 22:54 <a href="http://www.aygfsteel.com/wealupa/archive/2006/12/16/88285.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">н</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˴</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Զ</a>| <a href="http://" target="_blank">Ž</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͬ</a>| <a href="http://" target="_blank">ػ</a>| <a href="http://" target="_blank">ͤ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ľ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Į</a>| <a href="http://" target="_blank">Ӳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͨ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">״</a>| <a href="http://" target="_blank">Ӷ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϰ</a>| <a href="http://" target="_blank">Ͻ</a>| <a href="http://" target="_blank">ǿ</a>| <a href="http://" target="_blank">ϻ</a>| <a href="http://" target="_blank">ᶫ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>