我正在使用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
(因为它不是网址而无效):
<a class="btn-yellow" href="{{ical}}">Add to my calendar</a>
我应该怎么做,这是一个可引发的,添加到日历按钮?
答案 0 :(得分:0)
您希望将href链接指向用户日历/电子邮件客户端。说起来容易做起来难。如果你看看eventbrite是如何做到的,实际上你可以复制他们的代码,它可以顺利运行。例如,我没有outlook,点击保存到outlook只需将.ics文件下载到我的桌面。我确实使用谷歌日历并拥有一个雅虎帐户,点击任一链接将我带到他们各自的日历。虽然我不喜欢href属性中使用的内联javascript ...更好的方法是将它链接到href中的ics,然后使用javascript重定向用户onclick。这样,如果他们禁用了javascript,他们仍然会获得ics。您可以在此处查看其中的示例:http://www.eventbrite.com/event/5572613838
答案 1 :(得分:0)
对于您创建的由客户端识别为icalendar的icalendar文件,您需要将html标题Content-type
设置为text/calendar
(see rfc6047 mime type),这只能在服务器端不在您的HTML代码中。
您可以在html代码中尝试的方法是通过type attribute of a address element声明content-type
。