JavaScript — Как показать встроенный календарь Google (XML-канал) в часовом поясе браузера

Редактировать: я получил это на работу, Вот это пример. Мне просто нужно выяснить, как автоматически обновлять часовой пояс на основе браузера. Есть идеи?

Я следовал руководству, чтобы создать лучшее встроенное представление календаря моего календаря Google.

В основном он использует XML-канал моего публичного календаря Google и Fullcalendar библиотека для воссоздания настраиваемого, встраиваемого календаря.

Я ищу хитрый способ использования часового пояса браузера пользователя для правильного отображения событий в его часовом поясе, а не только того, в котором установлен календарь.

Есть ли способ обмануть Google, чтобы он обслуживал XML-фид в часовом поясе пользователя, или, возможно, javascript для обновления значений?

В настоящее время Календарь находится в UTC, а события, радиопередачи, могут быть в любом количестве часовых поясов.

Редактировать: я заметил, что в последней версии Fullcalendar есть поддержка не динамического часового пояса Вот. Хотя я использую старую версию из учебника. Я собираюсь попробовать обновить, а затем, возможно, использовать PHP, чтобы выбрать часовой пояс при загрузке страницы.

Желаемый результат заключается в том, что пользователи видят соответствующую информацию, независимо от того, из какой страны они просматривают страницу. Вот моя попытка.

Я добавил нижеприведенный javascript, который был в учебном примере. Но, похоже, он не использует мой календарь XML. Я еще не обратился к автообновлению PHP.

var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();

$('#calendar').fullCalendar({
theme: true,
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},

// DAFFY FOR GAFE TUTORIAL Shared Calendar
// PUT THE URL TO YOUR SHARED GOOGLE CALENDAR XML FEED BETWEEN THESE SINGLE QUOTES
// AND MAKE SURE TO USE https INSTEAD OF PLAIN OLD http
events: 'https://www.google.com/calendar/feeds/mn3q9f8ncup1mhcsvd9t8q5t1s%40group.calendar.google.com/public/basic',

loading: function(bool) {
if (bool) {
$('#loading').show();
}else{
$('#loading').hide();
}
}
});

Обратите внимание, я также добавил <script src='../fullcalendar/gcal.js'></script> в голове. Данные в новой демоверсии, похоже, получены из массива json

// Read and parse our events JSON file into an array of event data arrays.
$json = file_get_contents(dirname(__FILE__) . '/../json/events.json');
$input_arrays = json_decode($json, true);

Демо-данные в events.json выглядят так …

[
{
"title": "All Day Event",
"start": "2014-09-01"},
{
"title": "Long Event",
"start": "2014-09-07",
"end": "2014-09-10"},
{
"id": "999",
"title": "Repeating Event",
"start": "2014-09-09T16:00:00-05:00"},
{
"id": "999",
"title": "Repeating Event",
"start": "2014-09-16T16:00:00-05:00"}
]

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]