Javascript 数据:Internet Explorer无法识别文本/日历
我正在尝试只使用JavaScript动态创建一个Javascript 数据:Internet Explorer无法识别文本/日历,javascript,internet-explorer,icalendar,Javascript,Internet Explorer,Icalendar,我正在尝试只使用JavaScript动态创建一个ics文件,而不使用中间保存。我仅限于JavaScript,没有保存,因为它最终将在平台上运行 我是一名JavaScript程序员新手,但我通过大量的网络搜索拼凑出了一些(几乎)有效的东西。我的想法在Chrome、Firefox甚至Opera中都能用,但在InternetExplorer中不起作用。在所有其他浏览器中,我会创建并下载一个ics文件,但在Explorer中,我会看到“无法显示网页”,整个ics流显示在地址栏中,从以下内容开始: dat
ics
文件,而不使用中间保存。我仅限于JavaScript,没有保存,因为它最终将在平台上运行
我是一名JavaScript程序员新手,但我通过大量的网络搜索拼凑出了一些(几乎)有效的东西。我的想法在Chrome、Firefox甚至Opera中都能用,但在InternetExplorer中不起作用。在所有其他浏览器中,我会创建并下载一个ics文件,但在Explorer中,我会看到“无法显示网页”,整个ics流显示在地址栏中,从以下内容开始:
data:text/calendar;charset=utf8,BEGIN%3AVCALENDAR
从“开始”开始的所有内容都是ics文件的一部分
在所有其他浏览器中成功启动下载的代码如下:
window.open("data:text/calendar;charset=utf8," + encodeURI(icsMSG));
icsmg
是组成实际ics
文件的字符串
如前所述,唯一的问题是,这在IE中不起作用,因为IE似乎不知道如何处理“数据:文本/日历”
”。。。或者我完全偏离了方向,只是不知道自己在做什么
如果需要,我可以提供所有代码
谢谢 我找到了一个对我有用的答案: 其中ICSMG是一个字符串,包含ICS文件中应包含的数据(从“开始”开始的所有内容)。还有一个if语句,可用于测试浏览器是否为旧版IE:
if (typeof window !== "undefined" &&
window.navigator.msSaveOrOpenBlob &&
window.Blob) { }
这对我来说在Internet Explorer 11中工作,而不必使用服务器下载文件。也许可以尝试对有效负载进行base64编码,以防万一?另外,InternetExplorer高达9。您有没有找到解决方案?目前正在与IE11抗争
if (typeof window !== "undefined" &&
window.navigator.msSaveOrOpenBlob &&
window.Blob) { }