使用 javascript 或 jquery 创建.ics文件
Create .ics file with javascript or jquery
当用户单击按钮时,我正在尝试创建一个.ics
文件。
到目前为止,我拥有的代码是
msgData1 = $('.start-time').text();
msgData2 = $('.end-time').text();
msgData3 = $('.Location').text();
var icsMSG = "BEGIN:VCALENDAR'nVERSION:2.0'nPRODID:-//Our Company//NONSGML v1.0//EN'nBEGIN:VEVENT'nUID:me@google.com'nDTSTAMP:20120315T170000Z'nATTENDEE;CN=My Self ;RSVP=TRUE:MAILTO:me@gmail.com'nORGANIZER;CN=Me:MAILTO::me@gmail.com'nDTSTART:" + msgData1 +"'nDTEND:" + msgData2 +"'nLOCATION:" + msgData3 + "'nSUMMARY:Our Meeting Office'nEND:VEVENT'nEND:VCALENDAR";
$('.button').click(function(){
window.open( "data:text/calendar;charset=utf8," + escape(icsMSG));
});
这将下载一个.ics
文件,但是当我尝试在iCal中打开它时,我被告知它无法读取该文件。
我使用了InsanelyADHD提到的ics.js解决方案。
该解决方案的一个问题是Chrome没有正确检测文件类型,并尝试使用编辑器将文件作为文本打开。
我更改了下载功能以简单地打开文本:
window.open( "data:text/calendar;charset=utf8," + escape(calendar));
我在Github上的分支是icsFormatter.js
关于许可证:我已经联系了原作者以包含GPL - 之后我也会包括一个GPL。
有一个开源项目:
- 集成电路.js
它是100%的JavaScript,适用于所有现代浏览器,除了IE 9及更低版本。
如果您对它们如何使文件工作感兴趣,可以检查其来源。 他们使用以下库来执行繁重的工作:
- 文件保护程序.js
- 斑点.js
者地址有两个冒号:"MAILTO::me@gmail.com"
如果这不能解决问题,您将不得不向我们展示完整的 ical流,因为它是由 iCal 接收的。
最后,假设start_time和end_time使用的格式正确,对于位置字段,您可能需要换行 (https://www.rfc-editor.org/rfc/rfc5545#section-3.1) 并转义某些字符 (https://www.rfc-editor.org/rfc/rfc5545#section-3.3.11)。换句话说,您可能需要查看iCalendar库。
ics.js对我不起作用,因为我从数据库中异步加载数据。然后我切换到 ical.js结合 ics 的 saveAs 函数.js它起作用了。如果这里有人遇到同样的问题,请随时给我发短信,然后我将提供一个示例
我使用了提到的 icsFormatter 和 smartbart24。但是我需要支持IE到版本7,所以我不得不稍微调整一下。
要使用 icsGen,我的 icsFormatter 分支,您必须在 Web 服务器上安装 php 4 或 5。
- 如何播放部分音频文件
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在php文件中获取$.post-ajax传递的值
- “无法下载此文件”时尝试在主屏幕Web应用程序中访问ics文件
- 如何通过javascript导入.ics文件并返回议程
- 从“ics”文件接收谷歌日历事件,并将其与FullCalendar一起使用
- 从 HTML 表单使用 JavaScript 创建一个 ICS 文件
- 使用 javascript 或 jquery 创建.ics文件
- 有没有一种方法可以使用javascript或jquery检索ics文件
- 在浏览器中打开下载的ics文件'返回后,App出现黑屏
- 在Phonegap中处理. ics文件
- 如何从javascript打开ics文件