2013-10-02 11 views
10

के साथ .ics फ़ाइल बनाएं I उपयोगकर्ता एक बटन पर क्लिक करते समय .ics फ़ाइल बनाने का प्रयास कर रहा हूं।जावास्क्रिप्ट या jquery

अब तक कोड मैं

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:[email protected]\nDTSTAMP:20120315T170000Z\nATTENDEE;CN=My Self ;RSVP=TRUE:MAILTO:[email protected]\nORGANIZER;CN=Me:MAILTO::[email protected]\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 में खोलने के लिए प्रयास करें। "Mailto :: [email protected]"

यदि यह समस्या का समाधान नहीं होता है, तो आप के रूप में यह प्राप्त होता है, हमें पूर्ण iCal धारा दिखाना होगा:

+0

स्टार्ट-टाइम, अंत-समय और स्थान का उपयोग आप किस प्रकार कर रहे हैं? – AlliterativeAlice

+2

अंत में मैंने http://addthisevent.com/ एक बहुत अच्छी और सरल प्लगइन का उपयोग किया। – joshuahornby10

उत्तर

3

आप आयोजक पते के लिए दो बृहदान्त्र है iCal द्वारा।

अंत में, और यह मानते हुए कि स्टार्ट_टाइम और एंड_टाइम सही प्रारूप का उपयोग कर रहे हैं, स्थान फ़ील्ड के लिए, आपको लाइनों को लपेटने की आवश्यकता हो सकती है (http://tools.ietf.org/html/rfc5545#section-3.1) और कुछ वर्णों से बचें (http://tools.ietf.org/html/rfc5545#section-3.3.11)। दूसरे शब्दों में, आप iCalendar पुस्तकालयों को देखना चाह सकते हैं।

यह 100% जावास्क्रिप्ट है और IE 9 और नीचे के लिए छोड़कर सभी आधुनिक ब्राउज़रों पर काम किया:

6

इस के लिए एक ओपन सोर्स प्रोजेक्ट है।

यदि आप रुचि रखते हैं कि वे फ़ाइलों को कैसे काम करते हैं, तो आप उनके स्रोत की जांच कर सकते हैं। वे बड़े कार्य करने को करने के लिए निम्नलिखित पुस्तकालयों का उपयोग करें:

+3

चूंकि कोई लाइसेंस प्रति डिफ़ॉल्ट सभी अधिकार सुरक्षित नहीं है। इसके लिए एक मुद्दा खोला। –

+2

@InsanelyADHD यह ics.js भी 6> सफारी संस्करण का समर्थन नहीं करता है। –

+4

मूल संस्करण अच्छी तरह से बनाए रखा नहीं है और इसमें महत्वपूर्ण त्रुटियां हैं। इस में कांटा मजबूत है। कांटा का प्रयोग करें। https://github.com/connorbode/ics.js – starlocke

6

मैं ics.js समाधान InsanelyADHD ने उल्लेख किया करते थे।

समाधान के साथ एक समस्या यह थी कि क्रोम फ़ाइल प्रकार का सही ढंग से पता नहीं लगा और फ़ाइल को संपादक के साथ पाठ के रूप में खोलने का प्रयास किया।

window.open("data:text/calendar;charset=utf8," + escape(calendar)); 

Github पर मेरे कांटा है icsFormatter.js

लाइसेंस के बारे में::

मैं बस के साथ पाठ को खोलने के लिए डाउनलोड समारोह बदल मैं एक जीपीएल शामिल करने के लिए मूल लेखक से संपर्क किया है - उसके बाद मैं भी एक शामिल करूंगा।

+1

के लिए –

+0

आप उदाहरण की समाप्ति तिथि को सही करते हैं। – atilkan

0

मैंने icsFormatter का उपयोग किया था जिसका उल्लेख स्मार्टबर्ट 24 द्वारा किया गया था। लेकिन मुझे आईई को संस्करण 7 तक समर्थन करने की आवश्यकता थी, इसलिए मुझे चीजों को थोड़ा सा ट्विक करना पड़ा।

icsGen, icsFormatter की मेरी कांटा का उपयोग करने के लिए आपको php 4 या 5 अपने वेब सर्वर पर स्थापित करना होगा।

संबंधित मुद्दे