无法在iOS

时间:2015-09-15 19:43:48

标签: php ios forms calendar icalendar

我写了一个简单的php脚本来动态编写.ics文件。提交HTML表单时会调用该脚本:

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

在桌面上它运行正常。下载文件,当用户打开文件时,会添加日历事件。在具有移动Safari的iOS设备上没有任何反应。即使我只是直接链接到有效的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)问题,但我们不知道它可能是什么。有什么建议?我在这里不知所措。

2 个答案:

答案 0 :(得分:0)

表单按钮未在移动版Safari上提交。它在桌面上提交了。不得不用javascript强制在手机上提交。

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

不确定原因?

答案 1 :(得分:0)

使用此:

header("Content-Disposition: inline; filename=".$filename .".ics");