Мы используем URI данных (RFC 2397), чтобы посетитель мог загрузить запись календаря (в формате ICS 2.0). Он отлично работает в Firefox, Chrome (для настольных ПК и Android) и Safari, но не работает в Internet Explorer 9–11 и в Edge. Это пример URI:
data:text/calendar;charset=utf8,BEGIN:VCALENDAR%0AVERSION:2.0%0ABEGIN:VEVENT%0AURL:http://example.com/meeting-confirmation/%0ADTSTART:20151130T210000Z%0ADTEND:20151130T220000Z%0ASUMMARY:Meeting%20With%20Company%0ADESCRIPTION:Meeting%20with%20Company%20to%20receive%20an%20overview%20of%20our%20technologies%20and%20discuss%20your%20service%20needs.%20Please%20contact%20Company%20Rep%20promptly%20via%20phone%20at%20123-456-7890%20to%20confirm%20or%20change%20this%20meeting.%0ALOCATION:123%20Fake%20Street,%20Springfield,%20MO%2012345%0AEND:VEVENT%0AEND:VCALENDAR
Если это помогает, это генерируется путем подачи данных о встрече в / добавить к календарю-кнопка carlsednaoui
. Сценарий собирает данные о встречах в необходимые форматы, а затем выводит URL-адреса для календарей Google и Yahoo и данные URI для Outlook и iCal в ссылки в выпадающем меню. Ссылка Outlook указывает на URI выше. Когда пользователь щелкает ссылку, он открывает окно загрузки, чтобы пользователь мог добавить его в свой календарь Outlook (кроме IE).
<script>
var myCalendar = createCalendar({
options: {
class: 'my-class',
id: 'my-id'
},
data: {
title: 'Meeting With Company',
start: new Date('11/30/2015 4:00-PM'),
duration: 60,
address: '123 Fake Street, Springfield, MO 12345',
description: 'Meeting with Company to receive an overview of our technologies and discuss your service needs. Please contact Company Rep promptly via phone at 123-456-7890 to confirm or change this meeting.'
}
});
document.querySelector('.new-cal').appendChild(myCalendar);
</script>
Я пытался кодировать различные символы, как рекомендуется в Схема URI данных и ошибки Internet Explorer 9, но IE по-прежнему либо ничего не делает, либо показывает страницу ошибки «Страница не может быть отображена».
https://msdn.microsoft.com/en-us/library/cc848897%28v=vs.85%29.aspx Похоже, что это использование запрещено, но я не уверен. Если это правда, так как другие браузеры могут справиться с этим, я надеюсь, что кто-то знает обходной путь для браузеров IE.
Задача ещё не решена.
Других решений пока нет …