我正在尝试ics仅使用JavaScript即时创建文件,而不进行中间保存。我只能使用JavaScript,并且由于最终将在其上运行的平台而无法保存。
我是JavaScript的新手,但是通过在网络上进行了大量的搜索,我已经整理了一些(几乎)可行的方法。我提供的功能在Chrome,Firefox甚至Opera中都可以使用,但是在Internet Explorer中不起作用。在所有其他浏览器中,我都创建并下载了一个ics文件,但在资源管理器中,我获得"The webpage cannot be displayed"了显示在地址栏中的整个ics流,其开头为:
data:text/calendar;charset=utf8,BEGIN%3AVCALENDAR
Run Code Online (Sandbox Code Playgroud)
从“ BEGIN”开始的所有内容都应该是ics文件的一部分。
在所有其他浏览器中成功启动下载的代码是:
window.open("data:text/calendar;charset=utf8," + encodeURI(icsMSG));
Run Code Online (Sandbox Code Playgroud)
icsMSG是组成实际ics文件的字符串。
如前所述,唯一的问题是,这在IE中不起作用,因为IE似乎不知道该如何处理data:text/calendar...或也许我已经完全脱离基础,只是不知道自己在做什么。
如果需要,我可以提供所有代码。
谢谢!