阅读:2846回复:7
为什么我的FireFox不能访问http://www.stardaily.com.cn
只是显示日期和当前时间,晕.
我的是FireFox 1.0 Tab Mix, SupreDrag and go, adblock, cutemenu |
|
1楼#
发布于:2005-01-28 11:32
崇拜一下 猫头猪 :)!
|
|
2楼#
发布于:2005-01-28 11:32
画面一闪而过 就剩下时间了。
|
|
|
3楼#
发布于:2005-01-28 11:32
猪,你是我的偶像
![]() |
|
4楼#
发布于:2005-01-28 11:32
这个网页的右上角有一个时钟,它的实现是这样的:
var weekarray=new Array("日","一","二","三","四","五","六") var montharray=new Array("一","二","三","四","五","六","七","八","九","十","十一","十二") var dayarray=new Array("一","二","三","四","五","六","七","八","九","十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","二十一","二十二","二十三","二十四","二十五","二十六","二十七","二十八","二十九","三十","三十一") function getthedate(){ var mydate=new Date() var year=mydate.getYear() var day=mydate.getDay() var month=mydate.getMonth()+1 var daym=mydate.getDate() var hours=mydate.getHours() var minutes=mydate.getMinutes() var seconds=mydate.getSeconds() var dn="AM" if (year < 1000) year+=1900 if (minutes<=9) minutes="0"+minutes if (seconds<=9) seconds="0"+seconds var cdate="<span >"+montharray[month-1]+"月"+dayarray[daym-1]+"日<br> 星期"+weekarray[day]+"<br>"+hours+":"+minutes+":"+seconds+"</span>" if (document.all) document.all.clock.innerHTML=cdate else document.write(cdate) } showclock(); function showclock() { setInterval("getthedate()",1000) } 请特别注意这几行: if (document.all) document.all.clock.innerHTML=cdate else document.write(cdate) 这里面对IE(实现了document.all)和非IE(未实现document.all)的浏览器做了区别。如果是IE,会直接写clock元素(网页中定义的一个<span>)的innerHTML来刷新时间。而对于非IE浏览器它调用了document.write来刷新,这样刷新如果是在上下文中的javascript,是不会有问题的,会直接写在这个script所在的网页位置。但当这个刷新函数是被当作time interval函数被调用,document.write就不是从一个HTML文件里被调用了,这时的语意变成了 document.open(); document.write(....); document.close(); 也就是打开一个新文件,在这个文件中写入相关内容。 这个新文件,就是你们看到的那个只有一个日期的东西了。 这种错误完全是因为写完代码没在非IE浏览器里测试的结果。 opera因为实现了document.all,所以走了另一个分支。 |
|
5楼#
发布于:2005-01-28 11:32
好奇怪,不知道是不是又使用了什么不标准代码,猫头猪来看看吧。
|
|
|
6楼#
发布于:2005-01-28 11:32
opera is ok
|
|
7楼#
发布于:2005-01-28 11:32
用户被禁言,该主题自动屏蔽! |
|