首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用javascript或jquery动态创建.ics文件?

使用javascript或jquery动态创建.ics文件?
EN

Stack Overflow用户
提问于 2011-12-14 05:46:03
回答 5查看 30.8K关注 0票数 19

有没有人能告诉我有没有什么jquery插件可以用来自页面div值的值动态创建.ics文件

代码语言:javascript
复制
<div class="start-time">9:30am</div>
<div class="end-time">10:30am</div>
<div class="Location">California</div>

或者javascript动态创建.ics文件的方式?我基本上需要创建.ics文件,并使用javascript或jquery提取这些值?并将创建的ics文件链接到“添加到日历”链接,以便将其添加到outlook?

EN

回答 5

Stack Overflow用户

发布于 2013-01-15 04:15:16

您将需要使它在ICS格式。此外,您还需要转换日期和时区;例如20120315T170000Z或yyyymmddThhmmssZ

代码语言:javascript
复制
    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";

    $('.test').click(function(){
        window.open( "data:text/calendar;charset=utf8," + escape(icsMSG));
    });

上面的示例将创建一个用于下载的ics文件。用户将不得不打开它,outlock,iCal或谷歌日历将完成其余的工作。

票数 33
EN

Stack Overflow用户

发布于 2012-03-26 02:20:02

这是一个古老的问题,但我有一些想法可以让你开始(或者其他任何需要做类似任务的人)。

和创建文件内容的JavaScript,打开文件:

代码语言:javascript
复制
var filedata = $('.start-time, .end-time, .Location').text();
window.open( "data:text/calendar;charset=utf8," + escape( filedata ) );

您可能希望将该代码添加到表单按钮的onclick事件中。

我手头上没有Outlook,所以我不确定它是否会自动识别文件类型,但它可能会。

希望这能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2015-07-31 19:16:00

从我在网上和这个网站上找到的,这是不可能让这在IE中工作,因为你需要包括某些标题,让IE知道下载这个文件。

window.open方法适用于Chrome和Firefox,但不适用于IE,因此您可能需要重新构造代码以使用服务器端语言来生成和下载ICS文件。

在此question中可以找到更多信息

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8496629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档