3

我有一个奇怪的问题。我正在使用jQuery weekcalendar在浏览器的日历中显示约会。

Chrome 一切正常。我所有的约会都显示出来了。在所有其他浏览器中,我只看到日历,但看不到约会。

这是我日历的链接。

有谁知道这里发生了什么?我不知道应该在这个问题中添加什么代码,因为我不知道问题出在哪里。但是,如果您检查页面源代码,则代码是可见的。

4

2 回答 2

3

您的问题与您解析来自 ajax 调用“ http://www.slinder.ch/admin/php/termin_getappointments.php ”的日期的方式有关。您正在使用“new Date()”转换为日期。虽然这在 chrome 中运行良好,但在其他浏览器中无法运行。尝试按照以下帖子中的说明解析您的日期格式:

如何使用 JavaScript 中的格式规范将字符串转换为日期时间?

具有以下代码示例的答案似乎就足够了,它使用 ajax 调用返回的确切日期格式:

var dateString = "2010-08-09 01:02:03";
var reggie = /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/;
var dateArray = reggie.exec(dateString); 
var dateObject = new Date(
    (+dateArray[1]),
    (+dateArray[2])-1, // Careful, month starts at 0!
    (+dateArray[3]),
    (+dateArray[4]),
    (+dateArray[5]),
    (+dateArray[6])
);
于 2013-01-10T16:27:29.087 回答
0

尝试更改此代码:

appointments.push({
  id: id,
  start: new Date(start),
  end: new Date(end),
  title: '<b>' + title + '</b> - ' + body,
  userId: userid
});

应该:

appointments.push({
  id: id,
  start: moment(start, "YYYY-MM-dd HH:mm:ss"),
  end: moment(end, "YYYY-MM-dd HH:mm:ss"),
  title: '<b>' + title + '</b> - ' + body,
  userId: userid
});
于 2013-01-10T16:43:31.253 回答