Я создаю файл ICS, который хорошо работает с Android / Windows, но на iOS (Safari) кажется, что у него проблемы с загрузкой файла в правильном формате.
Использование FileSaver. js расширение.
Проблема была выделена еще в 2013 году - https://github.com/eligrey/FileSaver.js/issues/12
Аналогичная проблема в стеке - IOS Safari - Как загрузить или отобразить pdf
<script>
const newEvent = {
BEGIN: 'VCALENDAR',
PRODID: 'ABC',
UID: 'info@info.com',
CATEGORIES: 'EVENT',
DTSTART: '20190321T153010Z',
DTEND: '',
SUMMARY: 'demo',
DESCRIPTION: 'demo',
END:'VEVENT',
END: 'VCALENDAR',
}
let formattedDate = formatDate(newEvent.DTSTART)
cal = ics()
cal.addEvent(newEvent.SUMMARY, newEvent.DESCRIPTION, newEvent.PRODID, formattedDate, formattedDate)
function formatDate(dateString) {
return dateString.replace(/(\d{4})(\d{2})(\d{2})T(\d{2})(\d{2})(\d{2})/,"$1-$2-$3T$4:$5:$6")
}
download_calendar_btn.onclick = function() {
cal.download("Event")
}
</script>
При нажатии кнопки происходит следующее: вместо загрузки файла ICS на iOS он будет перенаправлен на URL как : blob:(my url) (followed by fileid)
и скажи, что это неизвестный документ.