使用 jQuery 为 ICS 文件命名并即时打开该文件

问题描述 投票:0回答:1

我的 ICS 脚本工作正常,但根据浏览器的不同,他的行为有所不同!

第一期:

浏览器生成这些文件名= Safari:未知-1.ics GG Chrome,勇敢:téléchargement(1).ics 边缘:télécharger (1).ics 火狐:1YV-GiAT.ics

如何为 ICS 文件分配一个名称,例如“my-special-event.ics”?

奇怪的是,MacO 上下载文件夹和最近使用的文件夹中的文件显示方式不同

.

下次在windows系统上测试一下,看看显示如何。

有没有办法生成(仅使用 Jquery)包含 ICS 链接的“下载链接”()?

第二期(MacOS):

对于相同的 ICS 脚本,数据/日历链接只能使用 safari 浏览器动态打开。 对于所有其他内容,需要双击下载文件夹中的 ICS 文件才能将事件添加到日历中。

有没有办法始终(macOS 上的每个浏览器)即时打开 ICS 文件?

cross-browser filenames icalendar
1个回答
0
投票

您可能已经找到了命名 .ics 文件的解决方案。没有找到 .ics 文件的具体答案,因此这里是一个仍在寻找此问题解决方案的人的答案(这至少适用于 chrome 和 firefox,尚未在其他浏览器上测试过)。

在这篇文章中找到了解决方案:这里

在所选答案中,杰里米解释说您应该使用不可见的链接/锚点。这样您就可以命名 .ics 文件。就我而言,这意味着这个(我使用 ajax 创建一个 .ics 格式的字符串):

var uri = 'data:text/csv;charset=utf-8,' + escape([.ics formatted string]);

var downloadLink = document.createElement('a');
downloadLink.href = uri;
downloadLink.download = 'yourfilename.ics'; //<=== Set here your file name
downloadLink.style = 'display: none;';

document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);

希望对您有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.