我有一个 javascript 函数以不同的方式运行时间。它在 Chrome 浏览器中运行良好,但在 Internet Explorer 中没有显示出适当的价值。
在 Chrome 中:
2011 年 12 月 13 日 13:14:19
在 IE8 中:
0NaN-未定义-NaN 0NaN:0NaN:0NaN
您可以从两个浏览器的此页面链接中查看此内容。另请查看页面http://chemfluence.org.in/monetarist/sample.php的源代码
我的代码:
<div id="txt" title="Industries will generate products on every 3 Virtual days.
12 Virtual Days = 1 Real day. dd-Mon-yyyy HH:MM:SS ."></div>
Javascript
<script type='text/javascript'>//<![CDATA[
var virtualOrigin = Date.parse("2012-02-27T00:00:00"),
game_start_realdate=Date.parse("2013-01-27T12:00:00"),
realOrigin = Date.now(),
factor = 12;
function getVirtual(time) {
return new Date( virtualOrigin + ((time - realOrigin) * factor) +(realOrigin-game_start_realdate)*factor);
}
function pad2(num) {
return ("0"+num).substr(-2);
}
function format(time) {
var month=new Array();
month[0]="Jan";
month[1]="Feb";
month[2]="Mar";
month[3]="Apr";
month[4]="May";
month[5]="Jun";
month[6]="Jul";
month[7]="Aug";
month[8]="Sep";
month[9]="Oct";
month[10]="Nov";
month[11]="Dec";
return pad2(time.getDate())
+ "-" + month[time.getMonth()]
+ "-" + time.getFullYear()
+ " " + pad2(time.getHours())
+ ":" + pad2(time.getMinutes())
+ ":" + pad2(time.getSeconds());
}
function startTime() {
var now = new Date();
var display = getVirtual(now);
output.innerText = format(display);
setTimeout(startTime, 1000/factor - (now.getMilliseconds() % (1000/factor)));
}
var output = document.getElementById("txt");
startTime();
</script>
我需要修改上述 Javascript 以在 Internet Explorer 和 Chrome/Firefox 中工作; 请给我修改后的代码;