我有一个奇怪的问题。我正在使用jQuery weekcalendar在浏览器的日历中显示约会。
Chrome 一切正常。我所有的约会都显示出来了。在所有其他浏览器中,我只看到日历,但看不到约会。
这是我日历的链接。
有谁知道这里发生了什么?我不知道应该在这个问题中添加什么代码,因为我不知道问题出在哪里。但是,如果您检查页面源代码,则代码是可见的。
我有一个奇怪的问题。我正在使用jQuery weekcalendar在浏览器的日历中显示约会。
Chrome 一切正常。我所有的约会都显示出来了。在所有其他浏览器中,我只看到日历,但看不到约会。
这是我日历的链接。
有谁知道这里发生了什么?我不知道应该在这个问题中添加什么代码,因为我不知道问题出在哪里。但是,如果您检查页面源代码,则代码是可见的。
您的问题与您解析来自 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])
);
尝试更改此代码:
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
});