我有一个带有liveticker的站点,它加载新的论坛事件并将它们添加到 HTML 表中。
对于时间字段,我正在 ajax 加载每个事件的日期时间(例如2013-02-15 17:28:03
),并通过jquery 插件可爱时间将它们转换为人类可读的格式,例如22 minutes ago
.
CuteTime 的问题是最近的版本(从 2010 年开始)在处理动态加载的 AJAX 数据方面存在一些问题。
我目前的解决方案似乎有点工作:
1.首先ajax调用将整个论坛事件加载为html表,然后我分配了cutetime插件:
// initial load at page startup
$('#responsecontainer').load('./liveticker', {ajax:1}, function() {
// convert datetime to readable date format
$('.timestamp').cuteTime();
});
2.然后我每 30 秒检查一次新事件,并在每次加载的数据上分配 cuteTime:
$('#responseEvents').load('./liveticker', {ajax:lastevent}, function() {
// stuff...
// convert datetime to readable date format
$('.timestamp').cuteTime();
})
这似乎适用于 Firefox 和 Chrome。但是,在 Internet Explorer 9 中,所有$(.timestamp)
元素都分配了相同的文本:just now
.
有谁知道这个错误/问题的解决方案?
--
注意:在cutetime-site 上,我发现了一条关于ajax的评论。那里有人陈述了他的解决方法:
我不得不破解我的应用程序来制作额外的字段,所以我首先将所有值复制到我所有的跨度中,然后调用cuteTime。
但我不确定这是否以任何方式与我现在面临的 Internet Explorer 错误有关......