1

iCalendar用来生成一个.ics文件,然后将其传递给我的模板。这工作正常,我最终得到以下结构的字符串:

BEGIN:VCALENDARVERSION:2.0PRODID:-//My%20calendar%20product//mxm.dk//BEGIN:VEVENTSUMMARY:Meeting%20DTSTART;VALUE=DATE-TIME:20130301T050000ZDTEND;VALUE=DATE-TIME:20130301T050000ZDTSTAMP;VALUE=DATE-TIME:20130301T050000ZUID:20050115T101010/info@mysite.comPRIORITY:5END:VEVENTEND:VCALENDAR

不过,我不知道处理这个问题的最佳方法是什么。我想让它可点击,以便查看者可以将其添加到他们的日历中。

我尝试过的一种方法只是将其嵌入为href(因为它不是 url,所以不起作用):

<a class="btn-yellow" href="{{ical}}">Add to my calendar</a>

我应该怎么做才能使这是一个可点击的添加到日历按钮?

4

2 回答 2

0

对于您创建的要被客户端识别为 icalendar 的 icalendar 文件,您需要将 html 标头设置Content-typetext/calendar请参阅 rfc6047 mime type),这只能在服务器端而不是在您的 html 代码中完成。

不过,您可以在 html 代码中尝试content-type通过地址元素的 type 属性声明 a 。

于 2013-03-14T10:00:05.260 回答
0

您将要创建指向用户日历/电子邮件客户端的 href 链接。说起来容易做起来难。如果你看看 eventbrite 是如何做到的,实际上你可以复制他们的代码,它运行顺利。例如,我没有 Outlook,单击保存到 Outlook 只需将 .ics 文件下载到我的桌​​面。我确实使用谷歌日历并有一个雅虎帐户,点击任一链接将我带到他们各自的日历。虽然我不喜欢href属性中使用的内联javascript...更好的方法是让它链接到href中的ics,然后使用javascript重定向用户onclick。这样,如果他们禁用了 javascript,他们仍然可以获得 ics。你可以在这里查看它的一个例子:http ://www.eventbrite.com/event/5572613838

于 2013-03-11T19:47:42.020 回答