我在其中一个rails项目中使用jquery倒计时,代码如下 -
var timeoff = new Date("#{time_format(auction.end_time)}");
$("#myDivId .timerContent").countdown({until : timeoff, onExpiry:applySold, compact : true, layout : '', serverSync: serverTime });
和serverTime方法有 -
function serverTime(){
$.get("/server_time","", function(data){
time = new Date(data);
}, "text");
return time;
}
此代码适用于firefox,safari和chrome,但在IE中不起作用。 在IE中它呈现了这个 - Nan:NaN:NaN
可能导致这种情况的原因是什么?
P.S。在上面的代码我的观点 var timeoff = new Date(“#{time_format(auction.end_time)}”);
我的时间格式为 - “2011-07-07T00:00:00 + 05:30”
我的Doc类型设置为 -
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
答案 0 :(得分:0)
我有确切的SAme ISSUE,即时通讯使用Date.parse($(“。time”)。html)对IE和FF都输出正常...当我用纯HTML测试时,它可以工作并倒计时两个浏览器!!但它似乎RUBY rials.js或JS的加载顺序与IE冲突.. !!!!!
在www.scratch22.net /测试中测试此页面,同时在IE和FIREFIOX!工作良好!!但不是来自实际的rails应用!!
修改强> 所以我从许多不同的地方尝试了许多不同的答案,只能用一个工作来比较日期时间与javascript for IE中的时区
ruby-1.9.2-p180 :001 > Time.now
=> 2011-07-14 08:55:26 +1000
ruby-1.9.2-p180 :002 > Time.now.to_s
=> "2011-07-14 08:55:30 +1000"
ruby-1.9.2-p180 :004 > Time.now.to_datetime.to_s
=> "2011-07-14T08:55:51+10:00"
ruby-1.9.2-p180 :005 > Time.now.to_formatted_s
=> "2011-07-14T08:56:18+10:00"
ruby-1.9.2-p180 :003 > Time.now.to_datetime
=> Thu, 14 Jul 2011 08:55:35 +1000
**我最初有&lt;%= Time.now.to_datetime%&gt;并没有意识到这会在打印到页面**时返回不同的字符串格式
ruby-1.9.2-p180 :007 > Time.now.to_formatted_s(:rfc822)
=> "Thu, 14 Jul 2011 08:57:26 +1000"
最后一次是时间格式的唯一时间,我可以让IE作为一个数字...我摆脱了Parse以及......
我想做的就是从现在到价格下降的时间返回时间, 并显示倒计时......
结果JS就像是
now = new Date().getTime(); // Thu, 14 Jul 2011 07:57:26 +1000
drops_in = new Date("Thu, 14 Jul 2011 08:57:26 +1000").getTime(); //1 hour in future
countdown = drops - now;
$(".counter_holder").html(format_time(countdown)); // 00:35:25
在每500毫秒更新一次的间隔内
吸取的教训......
ruby-1.9.2-p180 :003 > Time.now.to_datetime
与不一样
&lt;%= Time.now.to_datetime%&gt;
使用&lt;%= Time.now.to_formatted_s(:rcf822)%&gt;代替