js中getYear()在不同浏览器中的兼容性及解决方案
星期一, 二月 22nd, 2010在调试程序时,客户有要求页首需要增加时间显示。显然就用到了Date()中的getYear()来直接显示年份:
var year = now.getYear();
document.write(year);
IE显示正常,但在firefox和chrome下显示为110年(应该显示为1900+110=2010年),在网上搜索了一下答案,得到结论是IE为了提高兼容性,只要通过Date()取得的年份是两位或三位,那么就认为人的寿命不可能是1900年之多,所以智能的自动增加1900作为显示结果,即用getYear()即可显示为2010。但对于firefox和chrome等遵循标准的浏览器来讲,这样的做法显然有些可笑,于是搜索到这个解决办法:
var year = ( now.getYear() < 1900 ) ? ( 1900 + now.getYear() ) : now.getYear();
document.write(year);
上面的解决办法是对年份进行判断,小于1900则自动加上以显示正确年份,这样就完全兼容了所有浏览器的年份显示。
其实这里要写的不只是上面的解决方案,最佳解决方案是这样的:getYear()是js1.0标准的旧用法,现在提倡用getFullYear()即可得到完整年份:
var year = now.getFullYear();
document.write(year);
ajax计数器的实现
星期天, 七月 12th, 2009本文代码实现页面计数器在无刷新情况下自动更新同步计数器数据。
var xmlHttp;
function create(){
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
}
function count(){
create();
xmlHttp.open("GET","http://www.xxx.com/3.php?aa="+Math.random());
xmlHttp.onreadyStatechange=handle;
xmlHttp.send(null);
}
function handle(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){document.getElementById("jishu").innerHTML=escape(xmlHttp.responseText);}
}
}
function myShow(){
window.setInterval(count,5000);
}
</script>
<body onload="count();myShow();">
共有<span id="jishu"></span>人访问
</body>
需要注意的是xmlhttp在刷新的时间会使用缓存,所以需要在请求的地址上加随机数(Math.random)以防止使用缓存数据。另外setInterval与setTimeout的区别是前者为间隔循环执行,后者为定时执行一次。
QQ签名在自己博客上同步
星期五, 二月 8th, 2008看图:
其实也没什么技术含量,QQ签名自动在taotao上面更新,然后通过js获取taotao上面的数据显示出来就行了。
在页面加载:
调用位置加入:
叹为观止的css特效
星期三, 六月 20th, 2007学习过css与js的,开下眼界吧,保存这个html打开看看。
且再看网友评论:
2006-6-10 22:36:17
盖茨他爹:老夫活了大半辈子,头一次见这么NB的JS特效
——————————————————————————————
2006-6-10 22:39:06
小星:很少见,一般会直接用flash实现,学习了阿
——————————————————————————————
2006-6-11 22:40:05
dreame:开眼界
——————————————————————————————
2006-7-15 11:45:17
zxxlg205:我也算是开眼界了
——————————————————————————————
2006-7-28 16:22:40
hangxj:何止是一个N字了得? 那应该就是太N了~`
——————————————————————————————
2006-8-9 13:21:55
可可℃乐:俺…俺…俺都不说拉 简直不敢相信。终于体会到JS的强大拉
——————————————————————————————
2006-8-29 11:48:56
angeldidi:cool! 不过有没有人可以帮忙解释一下这些代码?
——————————————————————————————
2006-11-3 11:05:45
〖←冷似雪:厉害,I服了YOU
——————————————————————————————
2006-11-5 00:33:45
尤来尤去:不是太牛,是真TMD的牛!!!