梅花雨做的一个日历 Javascript 页面脚本控件
梅花雨做的一个日历 Javascript 页面脚本控件
比较好用,背景颜色可以自己用替换的形式改
walkingpoison联系方式:wayx@kali.com.cn
Ver 2.0
修改日期:2002-12-13
修改内容:
1.*全新修改使用iframe作为日历的载体,不再被select和flash等控件挡住。
2.修正了移植到iframe后移动日历控件的问题。
Ver 1.5
修改日期:2002-12-4
修改内容:
1.选中的日期显示为凹下去的样式
2.修改了关闭层的方法,使得失去焦点的时候能够关闭日历。
3.修改按键处理,使得Tab切换焦点的时候可以关闭控件
4.*可以自定义日历是否可以拖动
Ver 1.4
修改日期:2002-12-3
修改内容:
1.修正选中年/月份下拉框后按Esc键导致年/月份不显示的问题
2.修正使用下拉框选择月份造成的日期错误(字符串转化为数字的问题)
3.*外观样式的改进,使得控件从丑小鸭变成了美丽的天鹅,从灰姑娘变成了高贵的公主,从……(读者可以自己进行恰当的比喻)
4.再次增大年/月份的点击空间,并对下拉框的位置稍作调整
注:*号表示比较关键的改动
说明:
1.受到iframe的限制,如果拖动出日历窗口,则日历会停止移动。
*/
//==================================================== 参数设定部分 =======================================================//当前背景颜色: #3A8FE8varbMoveable=true;//设置日历是否可以拖动var_VersionInfo="Version:2.0 2.0作者:walkingpoison 1.0作者: F.R.Huang(meizz) MAIL: meizz@hzcnc.com"//版本信息//==================================================== WEB 页面显示部分 =====================================================varstrFrame;//存放日历层的HTML代码document.writeln('<iframe id=meizzDateLayer Author=wayx frameborder=0 scrolling=no style="position: absolute; width: 146px; height: 212px; z-index: 9998; display: none"></iframe>');
strFrame='<style>';
strFrame+='INPUT.button{BORDER-RIGHT: #3A8FE8 1px solid;BORDER-TOP: #3A8FE8 1px solid;BORDER-LEFT: #3A8FE8 1px solid;';
strFrame+='BORDER-BOTTOM: #3A8FE8 1px solid;BACKGROUND-COLOR: #fff8ec;font-family:宋体;}';
strFrame+='TD{FONT-SIZE: 9pt;font-family:宋体;}';
strFrame+='</style>';
strFrame+='<scr'+'ipt>';
strFrame+='var datelayerx,datelayery; /*存放日历控件的鼠标位置*/';
strFrame+='var bDrag; /*标记是否开始拖动*/';
strFrame+='function document.onmousemove() /*在鼠标移动事件中,如果开始拖动日历,则移动日历*/';
strFrame+='{if(bDrag && window.event.button==1)';
strFrame+='{var DateLayer=parent.document.all.meizzDateLayer.style;';
strFrame+='DateLayer.posLeft += window.event.clientX-datelayerx;/*由于每次移动以后鼠标位置都恢复为初始的位置,因此写法与div中不同*/';
strFrame+='DateLayer.posTop += window.event.clientY-datelayery;}}';
strFrame+='function DragStart() /*开始日历拖动*/';
strFrame+='{var DateLayer=parent.document.all.meizzDateLayer.style;';
strFrame+='datelayerx=window.event.clientX;';
strFrame+='datelayery=window.event.clientY;';
strFrame+='bDrag=true;}';
strFrame+='function DragEnd(){ /*结束日历拖动*/';
strFrame+='bDrag=false;}';
strFrame+='</scr'+'ipt>';
strFrame+='<div style="z-index:9999;position: absolute; left:0; top:0;" onselectstart="return false"><span id=tmpSelectYearLayer Author=wayx style="z-index: 9999;position: absolute;top: 3; left: 19;display: none"></span>';
strFrame+='<span id=tmpSelectMonthLayer Author=wayx style="z-index: 9999;position: absolute;top: 3; left: 78;display: none"></span>';
strFrame+='<table border=1 cellspacing=0 cellpadding=0 width=142 height=160 bordercolor=#3A8FE8 bgcolor=#3A8FE8 Author="wayx">';
strFrame+='<tr Author="wayx"><td width=142 height=23 Author="wayx" bgcolor=#FFFFFF><table border=0 cellspacing=1 cellpadding=0 width=140 Author="wayx" height=23>';
strFrame+='<tr align=center Author="wayx"><td width=16 align=center bgcolor=#3A8FE8 style="font-size:12px;cursor: hand;color: #ffffff"';
strFrame+='οnclick="parent.meizzPrevM()" title="向前翻 1 月" Author=meizz><b Author=meizz><</b>';
strFrame+='</td><td width=60 align=center style="font-size:12px;cursor:default" Author=meizz';
strFrame+='οnmοuseοver="style.backgroundColor='#FFD700'" οnmοuseοut="style.backgroundColor='white'"';
strFrame+='οnclick="parent.tmpSelectYearInnerHTML(this.innerText.substring(0,4))" title="点击这里选择年份"><span Author=meizz id=meizzYearHead></span></td>';
strFrame+='<td width=48 align=center style="font-size:12px;cursor:default" Author=meizz οnmοuseοver="style.backgroundColor='#FFD700'"';
strFrame+='οnmοuseοut="style.backgroundColor='white'" οnclick="parent.tmpSelectMonthInnerHTML(this.innerText.length==3?this.innerText.substring(0,1):this.innerText.substring(0,2))"';
strFrame+='title="点击这里选择月份"><span id=meizzMonthHead Author=meizz></span></td>';
strFrame+='<td width=16 bgcolor=#3A8FE8 align=center style="font-size:12px;cursor: hand;color: #ffffff"';
strFrame+='οnclick="parent.meizzNextM()" title="向后翻 1 月" Author=meizz><b Author=meizz>></b></td></tr>';
strFrame+='</table></td></tr>';
strFrame+='<tr Author="wayx"><td width=142 height=18 Author="wayx">';
strFrame+='<table border=1 cellspacing=0 cellpadding=0 bgcolor=#3A8FE8'+(bMoveable?'οnmοusedοwn="DragStart()" οnmοuseup="DragEnd()"':'');
strFrame+='BORDERCOLORLIGHT=#3A8FE8 BORDERCOLORDARK=#FFFFFF width=140 height=20 Author="wayx" style="cursor:'+(bMoveable?'move':'default')+'">';
strFrame+='<tr Author="wayx" align=center valign=bottom><td style="font-size:12px;color:#FFFFFF" Author=meizz>日</td>';
strFrame+='<td style="font-size:12px;color:#FFFFFF" Author=meizz>一</td><td style="font-size:12px;color:#FFFFFF" Author=meizz>二</td>';
strFrame+='<td style="font-size:12px;color:#FFFFFF" Author=meizz>三</td><td style="font-size:12px;color:#FFFFFF" Author=meizz>四</td>';
strFrame+='<td style="font-size:12px;color:#FFFFFF" Author=meizz>五</td><td style="font-size:12px;color:#FFFFFF" Author=meizz>六</td></tr>';
strFrame+='</table></td></tr><!-- Author:F.R.Huang(meizz) http://www.meizz.com/ mail: meizz@hzcnc.com 2002-10-8 -->';
strFrame+='<tr Author="wayx"><td width=142 height=120 Author="wayx">';
strFrame+='<table border=1 cellspacing=2 cellpadding=0 BORDERCOLORLIGHT=#3A8FE8 BORDERCOLORDARK=#FFFFFF bgcolor=#fff8ec width=140 height=120 Author="wayx">';
varn=0;for(j=0;j<5;j++)...{ strFrame+='<tr align=center Author="wayx">';for(i=0;i<7;i++)...{
strFrame+='<td width=20 height=20 id=meizzDay'+n+'style="font-size:12px" Author=meizz οnclick=parent.meizzDayClick(this.innerText,0)></td>';n++;}strFrame+='</tr>';}strFrame+='<tr align=center Author="wayx">';
for(i=35;i<39;i++)strFrame+='<td width=20 height=20 id=meizzDay'+i+'style="font-size:12px" Author=wayx οnclick="parent.meizzDayClick(this.innerText,0)"></td>';
strFrame+='<td colspan=3 align=right Author=meizz><span οnclick=parent.closeLayer() style="font-size:12px;cursor: hand"';
strFrame+='Author=meizz title="'+_VersionInfo+'"><u>关闭</u></span> </td></tr>';
strFrame+='</table></td></tr><tr Author="wayx"><td Author="wayx">';
strFrame+='<table border=0 cellspacing=1 cellpadding=0 width=100% Author="wayx" bgcolor=#FFFFFF>';
strFrame+='<tr Author="wayx"><td Author=meizz align=left><input Author=meizz type=button class=button value="<<" title="向前翻 1 年" οnclick="parent.meizzPrevY()"';
strFrame+='οnfοcus="this.blur()" style="font-size: 12px; height: 20px"><input Author=meizz class=button title="向前翻 1 月" type=button';
strFrame+='value="< " οnclick="parent.meizzPrevM()" οnfοcus="this.blur()" style="font-size: 12px; height: 20px"></td><td';
strFrame+='Author=meizz align=center><input Author=meizz type=button class=button value=Today οnclick="parent.meizzToday()"';
strFrame+='οnfοcus="this.blur()" title="当前日期" style="font-size: 12px; height: 20px; cursor:hand"></td><td';
strFrame+='Author=meizz align=right><input Author=meizz type=button class=button value=" >" οnclick="parent.meizzNextM()"';
strFrame+='οnfοcus="this.blur()" title="向后翻 1 月" class=button style="font-size: 12px; height: 20px"><input';
strFrame+='Author=meizz type=button class=button value=">>" title="向后翻 1 年" οnclick="parent.meizzNextY()"';
strFrame+='οnfοcus="this.blur()" style="font-size: 12px; height: 20px"></td>';
strFrame+='</tr></table></td></tr></table></div>';
window.frames.meizzDateLayer.document.writeln(strFrame);
window.frames.meizzDateLayer.document.close();//解决ie进度条不结束的问题//==================================================== WEB 页面显示部分 ======================================================varoutObject;
varoutButton;//点击的按钮varoutDate="";//存放对象的日期varodatelayer=window.frames.meizzDateLayer.document.all;//存放日历对象functionsetday(tt,obj)//主调函数...{
if(arguments.length>2)...{alert("对不起!传入本控件的参数太多!");return;}if(arguments.length==0)...{alert("对不起!您没有传回本控件任何参数!");return;}vardads=document.all.meizzDateLayer.style;
varth=tt;
varttop=tt.offsetTop;//TT控件的定位点高varthei=tt.clientHeight;//TT控件本身的高vartleft=tt.offsetLeft;//TT控件的定位点宽varttyp=tt.type;//TT控件的类型while(tt=tt.offsetParent)...{ttop+=tt.offsetTop; tleft+=tt.offsetLeft;} dads.top=(ttyp=="image")?ttop+thei : ttop+thei+6;
dads.left=tleft;
outObject=(arguments.length==1)?th : obj;
outButton=(arguments.length==1)?null: th;//设定外部点击的按钮//根据当前输入框的日期显示日历的年月varreg=/^(d+)-(d...{1,2})-(d...{1,2})$/;
varr=outObject.value.match(reg);
if(r!=null)...{
r[2]=r[2]-1;
vard=newDate(r[1], r[2],r[3]);
if(d.getFullYear()==r[1]&&d.getMonth()==r[2]&&d.getDate()==r[3])...{
outDate=d;//保存外部传入的日期}elseoutDate="";
meizzSetDay(r[1],r[2]+1);
}else...{
outDate="";
meizzSetDay(newDate().getFullYear(),newDate().getMonth()+1);
} dads.display='';
event.returnValue=false;
}
varMonHead=newArray(12);//定义阳历中每个月的最大天数MonHead[0]=31; MonHead[1]=28; MonHead[2]=31; MonHead[3]=30; MonHead[4]=31; MonHead[5]=30;
MonHead[6]=31; MonHead[7]=31; MonHead[8]=30; MonHead[9]=31; MonHead[10]=30; MonHead[11]=31;
varmeizzTheYear=newDate().getFullYear();//定义年的变量的初始值varmeizzTheMonth=newDate().getMonth()+1;//定义月的变量的初始值varmeizzWDay=newArray(39);//定义写日期的数组functiondocument.onclick()//任意点击时关闭该控件 //ie6的情况可以由下面的切换焦点处理代替...{
with(window.event)
...{if(srcElement.getAttribute("Author")==null&&srcElement!=outObject&&srcElement!=outButton)
closeLayer();
}}
functiondocument.onkeyup()//按Esc键关闭,切换焦点关闭...{
if(window.event.keyCode==27)...{
if(outObject)outObject.blur();
closeLayer();
}elseif(document.activeElement)
if(document.activeElement.getAttribute("Author")==null&&document.activeElement!=outObject&&document.activeElement!=outButton)
...{
closeLayer();
} }
functionmeizzWriteHead(yy,mm)//往 head 中写入当前的年与月...{
odatelayer.meizzYearHead.innerText=yy+"年";
odatelayer.meizzMonthHead.innerText=mm+"月";
}
functiontmpSelectYearInnerHTML(strYear)//年份的下拉框...{
if(strYear.match(/D/)!=null)...{alert("年份输入参数不是数字!");return;}varm=(strYear)?strYear :newDate().getFullYear();
if(m<1000||m>9999)...{alert("年份值不在 1000 到 9999 之间!");return;}varn=m-10;
if(n<1000) n=1000;
if(n+26>9999) n=9974;
vars="<select Author=meizz name=tmpSelectYear style='font-size: 12px'" s+="οnblur='document.all.tmpSelectYearLayer.style.display="none"'" s+="οnchange='document.all.tmpSelectYearLayer.style.display="none";" s+="parent.meizzTheYear = this.value; parent.meizzSetDay(parent.meizzTheYear,parent.meizzTheMonth)'> ";
varselectInnerHTML=s;
for(vari=n; i<n+26; i++)
...{
if(i==m)
...{selectInnerHTML+="<option Author=wayx value='"+i+"' selected>"+i+"年"+"</option> ";}else...{selectInnerHTML+="<option Author=wayx value='"+i+"'>"+i+"年"+"</option> ";} } selectInnerHTML+="</select>";
odatelayer.tmpSelectYearLayer.style.display="";
odatelayer.tmpSelectYearLayer.innerHTML=selectInnerHTML;
odatelayer.tmpSelectYear.focus();
}
functiontmpSelectMonthInnerHTML(strMonth)//月份的下拉框...{
if(strMonth.match(/D/)!=null)...{alert("月份输入参数不是数字!");return;}varm=(strMonth)?strMonth :newDate().getMonth()+1;
vars="<select Author=meizz name=tmpSelectMonth style='font-size: 12px'" s+="οnblur='document.all.tmpSelectMonthLayer.style.display="none"'" s+="οnchange='document.all.tmpSelectMonthLayer.style.display="none";" s+="parent.meizzTheMonth = this.value; parent.meizzSetDay(parent.meizzTheYear,parent.meizzTheMonth)'> ";
varselectInnerHTML=s;
for(vari=1; i<13; i++)
...{
if(i==m)
...{selectInnerHTML+="<option Author=wayx value='"+i+"' selected>"+i+"月"+"</option> ";}else...{selectInnerHTML+="<option Author=wayx value='"+i+"'>"+i+"月"+"</option> ";} } selectInnerHTML+="</select>";
odatelayer.tmpSelectMonthLayer.style.display="";
odatelayer.tmpSelectMonthLayer.innerHTML=selectInnerHTML;
odatelayer.tmpSelectMonth.focus();
}
functioncloseLayer()//这个层的关闭...{
document.all.meizzDateLayer.style.display="none";
}
functionIsPinYear(year)//判断是否闰平年...{
if(0==year%4&&((year%100!=0)||(year%400==0)))returntrue;elsereturnfalse;
}
functionGetMonthCount(year,month)//闰年二月为29天...{
varc=MonHead[month-1];if((month==2)&&IsPinYear(year)) c++;returnc;
}functionGetDOW(day,month,year)//求某天的星期几...{
vardt=newDate(year,month-1,day).getDay()/7;returndt;
}
functionmeizzPrevY()//往前翻 Year...{
if(meizzTheYear>999&&meizzTheYear<10000)...{meizzTheYear--;}else...{alert("年份超出范围(1000-9999)!");} meizzSetDay(meizzTheYear,meizzTheMonth);
}functionmeizzNextY()//往后翻 Year...{
if(meizzTheYear>999&&meizzTheYear<10000)...{meizzTheYear++;}else...{alert("年份超出范围(1000-9999)!");} meizzSetDay(meizzTheYear,meizzTheMonth);
}functionmeizzToday()//Today Button...{
vartoday;
meizzTheYear=newDate().getFullYear();
meizzTheMonth=newDate().getMonth()+1;
today=newDate().getDate();
//meizzSetDay(meizzTheYear,meizzTheMonth);if(outObject)...{
outObject.value=meizzTheYear+"-"+meizzTheMonth+"-"+today;
} closeLayer();
}functionmeizzPrevM()//往前翻月份...{
if(meizzTheMonth>1)...{meizzTheMonth--}else...{meizzTheYear--;meizzTheMonth=12;} meizzSetDay(meizzTheYear,meizzTheMonth);
}functionmeizzNextM()//往后翻月份...{
if(meizzTheMonth==12)...{meizzTheYear++;meizzTheMonth=1}else...{meizzTheMonth++} meizzSetDay(meizzTheYear,meizzTheMonth);
}
functionmeizzSetDay(yy,mm)//主要的写程序**********...{
meizzWriteHead(yy,mm);
//设置当前年月的公共变量为传入值meizzTheYear=yy;
meizzTheMonth=mm;
for(vari=0; i<39; i++)...{meizzWDay[i]=""};//将显示框的内容全部清空varday1=1,day2=1,firstday=newDate(yy,mm-1,1).getDay();//某月第一天的星期几for(i=0;i<firstday;i++)meizzWDay[i]=GetMonthCount(mm==1?yy-1:yy,mm==1?12:mm-1)-firstday+i+1//上个月的最后几天for(i=firstday; day1<GetMonthCount(yy,mm)+1; i++)...{meizzWDay[i]=day1;day1++;}for(i=firstday+GetMonthCount(yy,mm);i<39;i++)...{meizzWDay[i]=day2;day2++}for(i=0; i<39; i++)
...{varda=eval("odatelayer.meizzDay"+i)//书写新的一个月的日期星期排列if(meizzWDay[i]!="")
...{
//初始化边框da.borderColorLight="#3A8FE8";
da.borderColorDark="#FFFFFF";
if(i<firstday)//上个月的部分...{
da.innerHTML="<b><font color=gray>"+meizzWDay[i]+"</font></b>";
da.title=(mm==1?12:mm-1)+"月"+meizzWDay[i]+"日";
da.onclick=Function("meizzDayClick(this.innerText,-1)");
if(!outDate)
da.style.backgroundColor=((mm==1?yy-1:yy)==newDate().getFullYear()&& (mm==1?12:mm-1)==newDate().getMonth()+1&&meizzWDay[i]==newDate().getDate())?"#FFD700":"#e0e0e0";
else...{
da.style.backgroundColor=((mm==1?yy-1:yy)==outDate.getFullYear()&&(mm==1?12:mm-1)==outDate.getMonth()+1&& meizzWDay[i]==outDate.getDate())?"#00ffff":
(((mm==1?yy-1:yy)==newDate().getFullYear()&&(mm==1?12:mm-1)==newDate().getMonth()+1&& meizzWDay[i]==newDate().getDate())?"#FFD700":"#e0e0e0");
//将选中的日期显示为凹下去if((mm==1?yy-1:yy)==outDate.getFullYear()&&(mm==1?12:mm-1)==outDate.getMonth()+1&& meizzWDay[i]==outDate.getDate())
...{
da.borderColorLight="#FFFFFF";
da.borderColorDark="#3A8FE8";
} } }elseif(i>=firstday+GetMonthCount(yy,mm))//下个月的部分...{
da.innerHTML="<b><font color=gray>"+meizzWDay[i]+"</font></b>";
da.title=(mm==12?1:mm+1)+"月"+meizzWDay[i]+"日";
da.onclick=Function("meizzDayClick(this.innerText,1)");
if(!outDate)
da.style.backgroundColor=((mm==12?yy+1:yy)==newDate().getFullYear()&& (mm==12?1:mm+1)==newDate().getMonth()+1&&meizzWDay[i]==newDate().getDate())?"#FFD700":"#e0e0e0";
else...{
da.style.backgroundColor=((mm==12?yy+1:yy)==outDate.getFullYear()&&(mm==12?1:mm+1)==outDate.getMonth()+1&& meizzWDay[i]==outDate.getDate())?"#00ffff":
(((mm==12?yy+1:yy)==newDate().getFullYear()&&(mm==12?1:mm+1)==newDate().getMonth()+1&& meizzWDay[i]==newDate().getDate())?"#FFD700":"#e0e0e0");
//将选中的日期显示为凹下去if((mm==12?yy+1:yy)==outDate.getFullYear()&&(mm==12?1:mm+1)==outDate.getMonth()+1&& meizzWDay[i]==outDate.getDate())
...{
da.borderColorLight="#FFFFFF";
da.borderColorDark="#3A8FE8";
} } }else//本月的部分...{
da.innerHTML="<b>"+meizzWDay[i]+"</b>";
da.title=mm+"月"+meizzWDay[i]+"日";
da.onclick=Function("meizzDayClick(this.innerText,0)");//给td赋予onclick事件的处理//如果是当前选择的日期,则显示亮蓝色的背景;如果是当前日期,则显示暗黄色背景if(!outDate)
da.style.backgroundColor=(yy==newDate().getFullYear()&&mm==newDate().getMonth()+1&&meizzWDay[i]==newDate().getDate())?"#FFD700":"#e0e0e0";
else...{
da.style.backgroundColor=(yy==outDate.getFullYear()&&mm==outDate.getMonth()+1&&meizzWDay[i]==outDate.getDate())?"#00ffff":((yy==newDate().getFullYear()&&mm==newDate().getMonth()+1&&meizzWDay[i]==newDate().getDate())?"#FFD700":"#e0e0e0");
//将选中的日期显示为凹下去if(yy==outDate.getFullYear()&&mm==outDate.getMonth()+1&&meizzWDay[i]==outDate.getDate())
...{
da.borderColorLight="#FFFFFF";
da.borderColorDark="#3A8FE8";
} } } da.style.cursor="hand" }else...{da.innerHTML="";da.style.backgroundColor="";da.style.cursor="default"} }}
functionmeizzDayClick(n,ex)//点击显示框选取日期,主输入函数*************...{
varyy=meizzTheYear;
varmm=parseInt(meizzTheMonth)+ex;//ex表示偏移量,用于选择上个月份和下个月份的日期//判断月份,并进行对应的处理if(mm<1)...{
yy--;
mm=12+mm;
}elseif(mm>12)...{
yy++;
mm=mm-12;
}
if(mm<10)...{mm="0"+mm;}if(outObject)
...{
if(!n)...{//outObject.value="";return;}if( n<10)...{n="0"+n;} outObject.value=yy+"-"+mm+"-"+n ;//注:在这里你可以输出改成你想要的格式closeLayer();
}else...{closeLayer(); alert("您所要输出的控件对象并不存在!");}}
梅花雨做的一个日历 Javascript 页面脚本控件相关推荐
- 梅花雨做的一个日历控件
这是梅花雨做的一个日历 Javascript 页面脚本控件,适用于微软的 IE (5.0以上)浏览器 主调用函数是 setday(this,[object])和setday(this),[object ...
- 从外部的js文件中获取ASPX页面的控件ClientID(get control reference from external javascript)...
前言 当使用MasterPage.UserControl等容器时,为了避免控件的重复命名,asp.net会自动将容器中的控件生成一个ClientID(Control Tree中的可生成,否则不会生成) ...
- Javascript调用OCX控件
什么是ocx控件? 对象链接和嵌入用户控件(OCX)是一种可以由在微软的Windows系统中运行的应用软件创建使用的特殊用途的程序. 想知道究竟的可以看看这个帖子. http://www.tososo ...
- 【VS开发】免费打工仔:一个完善的ActiveX Web控件教程
作者 David Marcionek. 翻译 免费打工仔 这个教程可以帮助你快速开发一个ActiveX控件.其中将要讲解关于ActiveX开发的一些基础概念,诸如方法(method).属性(prope ...
- 免费打工仔:一个完善的ActiveX Web控件教程
免费打工仔:一个完善的ActiveX Web控件教程 出自Ogre3D开放资源地带 跳转到: 导航, 搜索 原作者 David Marcionek. 翻译 免费打工仔 这个教程可以帮助你快速开发一个A ...
- 一个完善的ActiveX Web控件教程
免费打工仔:一个完善的ActiveX Web控件教程 出自Ogre3D开放资源地带 跳转到: 导航, 搜索 原作者 David Marcionek. 翻译 免费打工仔 这个教程可以帮助你快速开发一 ...
- JavaScript使用ACTIVEX控件引起崩溃问题的解决
JavaScript使用ACTIVEX控件引起崩溃问题的解决 问题 在本人目前的项目中,前端部分完全使用EXTJS基于"One-Page"理念搭建.除了一个HTML作为基本容器外, ...
- javascript调用activex控件
代码 <HTML> <BODY> <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000&quo ...
- JavaScript 操作 COM 控件
目标:用JavaScript 脚本代码调用COM控件,实现基本功能操作: 1.定义及初始化COM控件: 2.调用COM接口: 3.注册COM事件并实现事件调用. 1. 定义及初始化COM控件 ...
最新文章
- myVariable是java标识符吗_java 标识符与变量
- mac地址转换_mac电脑格式转化工具
- mysql查询库中所有的表名,mysql查询指定表中的所有字段名及其相关信息
- 链接生成动态二维码图片显示在页面上
- SQL Server :理解GAM和SGAM页
- initramfs文件解压方法
- GDB 反向调试(Reverse Debugging)
- Ubuntu 20.04 LTS 修改IP地址
- hdu多校(三)1004 Tokitsukaze and Multiple(easydp)
- 工业相机镜头相关知识整理
- A slightly scary story on Amazons
- 俄罗斯方块游戏shell编程代码
- 云服务器系统种类,云服务器系统种类
- docker搭建openstf, 远程无延时控制手机
- css加透明边框,CSS3实现透明边框的方法分享
- Redis 内存分析神器
- 英语月份、星期、日期的缩写
- SuperMap iClient3D for WebGL风向风速对粒子的影响
- php.net国内镜像及php源码下载[非常快]
- [附源码]java毕业设计校园跑腿系统