【原创】'TodayUul' 未定义-历史上的今天问题与解决
我有个历史上的今天程序,以前运行正常,后来在国外的godaddy弄了个空间,然后架起了历史的今天,地址是:
开始的时候,不历史上当天的内容,查看错误提示,是这样的:
'TodayUul' 未定义
这是怎么回事呢?以前不是正常来吗?
后来经过查看源代码,看到在index.htm中有这么一行代码:
<script language="JavaScript" type="text/javascript" src="TodayTime.asp" ></script>
(变量TodayUul 是在TodayTime.asp中定义的)
这种使用script的方式在国内的主机上是可以的,但是在godaddy的空间上就有问题了(他们的安全性做得比较好),所以需要将TodayTime.asp换成TodayTime.js才好,经过查看TodayTime.asp中的代码,发现就是一些JavaScript代码,完全可以改成.js,所以改成TodayTime.js后,修改上面的那行代码为:
<script language="JavaScript" type="text/javascript" src="TodayTime.js" ></script>
经过测试,能正常显示历史上的今天了,成功!
附:历史上的今天TodayTime.js或TodayTime.asp中的代码变化:
最开始的时候
TodayTime.asp中的代码为:
<!-- // new Date("Sep 27,2006 20:33:52");
theDate = new Date("Jan 27,2007 2:33:15");
var month = theDate.getMonth()+1;
var day = theDate.getDate();
var TodayUul='/'+month+'/'+day
//-->
落伍上的修改方法:
上面的代码有问题,他的获得的日期中theDate = new Date("Nov 17,2006 2:33:15"); ()内的才有效
我补齐那些index.htm文件就没问题了,要不你就写成这样:
<!--//
theDate = new Date;
var month = theDate.getMonth()+1;
var day = theDate.getDate();
var TodayUul=month+'/'+day + '/'
//-->
正因为原来的文件使用了某一天的日期,所以你的页面不能随日期变化自己更新,现在这样就不用每天更新了,按用户机器的日期来更改。
如果想按服务器的日期来更改,这样写(不过这样就不能改名为TodayTime.js了,因为里面有asp代码):
<!--//
theDate = new Date("<%=Now()%>");
var month = theDate.getMonth()+1;
var day = theDate.getDate();
var TodayUul=month+'/'+day + '/'
//-->