2015-09-15 2 views
1

Я написал простой скрипт php для динамического написания файла .ics. Скрипт вызывается, когда форма HTML представляется:Не удается загрузить файл iics и открыть календарь на iOS

<form id="m1-remind-form" action="/php/make_ics.php" method="get"> 

На рабочем столе она отлично работает. Файл загружается, и когда пользователь открывает его, добавляется событие календаря. На устройстве iOS с мобильным Safari ничего не происходит. Даже если я прямо ссылаюсь на действительный файл ics, ничего не происходит. На сервер добавлен mime-тип, текст/календарь. Php дает эти заголовки:

header("Cache-Control: private"); 
header("Content-Type: text/calendar; charset=utf-8"); 
header("Content-Disposition: attachment; filename=".$filename .".ics"); 

Я перепутал с другими типами mime и различными настройками заголовка. Ничто не работает.

Я нашел сайт, где их динамически созданный файл ics загружается с помощью мобильного Safari и открывает календарь просто отлично и имеет пользовательский интерфейс, который я ищу. См. Здесь: http://m.anderson.ucla.edu/today

Они используют сценарий .NET для создания файла ics, но это не должно иметь значения.

Похоже, это может быть проблема с сервером (IIS), но мы не знаем, что это может быть. Какие-либо предложения? Я здесь в затруднении.

+1

Откройте файл ics в текстовом редакторе и посмотрите, не выглядит ли что-то неуместное, например, ошибка php. Обычно загрузка с браузером будет включена в загрузку. –

+0

Спасибо, но сделали это. – Adzo13

ответ

0

Кнопка формы не отправляется на мобильное Safari. На рабочем столе он подал. Пришлось подавать на мобильный с javascript.

btn.addEventListener('touchend', function(){form.submit()}); 

Не знаете, почему?

Смежные вопросы