Файлы ICS в браузере Safari iOS - PullRequest
       9

Файлы ICS в браузере Safari iOS

3 голосов
/ 17 января 2020

Я создаю файл 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) и скажи, что это неизвестный документ.

...