jquery timeago NaN多年前在firefox中

时间:2014-08-11 17:57:21

标签: jquery twitter timeago

我的Twitter时间必须转换为timeago时间。它在Chrome中完美运行,但在firefox中只有三个工作中的第一个工作,另外两个工程返回NaN。

这是我使用的插件。 http://timeago.yarp.com/

这会导致什么?

// console return

> Fri Jul 11 16:43:21 +0000 2014
> about a month ago
> Tue Jun 17 17:33:19 +0000 2014
> NaN years ago
> Tue Jun 17 16:13:03 +0000 2014
> NaN years ago

我用车把把它用掉了。我创建了一个Handler来完成工作。

if($.timeago){
    jQuery.timeago.settings.strings = {
       // environ ~= about, it's optional
       prefixAgo: "il y a",
       prefixFromNow: "d'ici",
       seconds: "moins d'une minute",
       minute: "environ une minute",
       minutes: "environ %d minutes",
       hour: "environ une heure",
       hours: "environ %d heures",
       day: "environ un jour",
       days: "environ %d jours",
       month: "environ un mois",
       months: "environ %d mois",
       year: "un an",
       years: "%d ans"
    };
    Handlebars.registerHelper('timeAgo', function(date) {
        console.log(date);
        console.log(jQuery.timeago(date));
        return jQuery.timeago(date);
    });
}

我在车把圈中使用它。

{{#each tweets}}
<li class="col-md-4"><div class="tweet"><a href="https://twitter.com/{{user.screen_name}}" class="tweetImg"><img alt="{{user.screen_name}}" src="{{user.profile_image_url}}" /></a><article>{{tweet text}}<span class="date">{{timeAgo created_at}}</span></article></div></li>
{{/each}}

这是我的对象数组

enter image description here

1 个答案:

答案 0 :(得分:1)

我找到了答案。

这是timeAgo插件的解析错误。

s = s.replace(/T/," ").replace(/Z/," UTC");

此行删除星期二和星期四的“T”并给出日期错误。

s = s.replace(/Z/," UTC");

我用上面的这一行替换了它(为了我的需要它是正确的。)