添加注释/url到VCALENDAR



我正在寻找一种在icalendar文件中指定URL或评论的方法,该文件将由用户代理在某种详细信息或属性窗口中显示。(强调由用户代理显示)

我不想为单个事件指定它,而是为整个VCALENDAR元素指定它。它应该与所有常见的用户代理一起工作。

我想用它来包含一个反馈URL/电子邮件地址,用户可以发现而不必检查原始文件。(文件是我唯一的沟通渠道)

您可能已经注意到,VCALENDAR组件上定义的属性非常少(https://www.rfc-editor.org/rfc/rfc5545#section-3.7)。

有一个新的IETF草案扩展了这个列表。参见https://datatracker.ietf.org/doc/html/draft-daboo-icalendar-extensions其中,URL属性是在VCALENDAR级别定义的,但它被定义为指向iCalendar流的源,而不是指向解释性URL。另一方面,你可以把反馈URL和电子邮件地址都塞进新定义的DESCRIPTION属性中(或者如果你觉得应该在草案中添加一个反馈URL属性,可以给作者回复)

至于用户代理使用这些属性,这当然是另一回事了。我们讨论的是哪些用户代理?

我切换到使用X-WR-CALDESC(和X-WR-CALNAME)来指定我的描述(和人类可读的名称)

关于我使用不同日历客户端的经验的一些笔记,可能会对其他人有所帮助。

iOS iCalendar应用程序似乎可以识别vCalendar项目的Description字段中的url,并将它们转换为可点击的超链接。MS Outlook也能识别这些。例如

DESCRIPTION:Go here: http://stackoverflow.com n

一些客户端支持vcalendar URL属性,例如

URL:http://stackoverflow.com

在iOS iCalendar应用程序中,这些都清晰地显示在URL字段中。

你也可以在X-ALT-DESC的html文档中嵌入锚标记,例如

X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//E
    N">n<HTML><BODY><A HREF="http://stackoverflow.com">http://stackoverflo
    w.com</A></BODY>n</HTML>

显然,你需要在你需要支持的所有客户端上测试vcalendar约会中的URL。

可能还有其他方法可以添加URL

最新更新