crear .archivo ics sobre la marcha usando javascript o jquery?

Alguien me puede decir si hay algún plugin de jquery para crear dinámicamente .archivo ics con los valores que vienen desde la página div valores como habría

<div class="start-time">9:30am</div>
<div class="end-time">10:30am</div>
<div class="Location">California</div>

o javascript manera para crear dinámicamente una .archivo ics? Yo, básicamente, la necesidad de crear .archivo ics y tire de estos valores con el uso de javascript o jquery? y el vínculo que se crea archivo ics a «AÑADIR CALENDARIO» link para que se añade a outlook?

OriginalEl autor AJSwift | 2011-12-13

5 Kommentare

  1. 29

    usted tendrá que hacer en el formato ICS. también será necesario convertir la fecha y hora de la zona; E. G. 20120315T170000Z o yyyymmddThhmmssZ

        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";
    
        $('.test').click(function(){
            window.open( "data:text/calendar;charset=utf8," + escape(icsMSG));
        });

    el ejemplo anterior se crea un archivo ics para descargar. el usuario tendrá que abrir y outlock, iCal o google calendar hará el resto.

    FYI para cualquiera que esté buscando: como de 8/8/13 este código no funciona. El .ics archivo se descarga y se abre, pero iCal dice que no puede leer el archivo y errores :/ NOTA: Si quita los espacios en torno a «\n BEGIN:VEVENT \n» funciona, pero ASÍ no me deja editar nada de menos de 6 caracteres 🙁
    Esto funcionó fantásticamente para mí ahora mismo!
    Así que esto funciona en el navegador de iOS, pero no cuando se envuelve en phonegap.. alguna idea de cómo hacer que funcione? Para aquellos que quieren esto en una pregunta aparte, aquí: stackoverflow.com/questions/18166561/…
    Yo no puedo conseguir que esto funcione en IE. Alguna idea?
    no funciona en IE y opera, consulte esta pregunta

    OriginalEl autor Defigo

  2. 1

    Esta es una vieja pregunta, pero tengo algunas ideas que podrían empezar (o cualquier otra persona que necesita hacer una tarea similar).

    Y el código JavaScript para crear el contenido del archivo y abrir el archivo:

    var filedata = $('.start-time, .end-time, .Location').text();
    window.open( "data:text/calendar;charset=utf8," + escape( filedata ) );

    Es de suponer que usted desea agregar ese código en el evento onclick de un botón de formulario.

    No tengo Outlook a la mano, así que no estoy seguro de si se le reconoce automáticamente el tipo de archivo, pero es posible.

    Espero que esto ayude.

    OriginalEl autor mwcz

  3. 1

    De lo que he encontrado en internet y en este sitio, no es posible conseguir que esto funcione en IE como usted necesita para incluir algunos de los encabezados de dejar IE saber para descargar este archivo.

    La ventana.abra el método que funciona para Chrome y Firefox pero no en IE, así que usted puede necesitar para reestructurar el código para utilizar un lenguaje en el servidor para generar y descargar el archivo ICS.

    Más se pueden encontrar en este pregunta

    OriginalEl autor ChronixPsyc

  4. 0

    Este enfoque ha funcionado muy bien sin embargo con el navegador IE8 no podía reconocer el tipo de archivo y se negó a abrir como un elemento de calendario. Para conseguir alrededor de esto, he tenido que crear el código en el lado del servidor (y expuestos a través de servicio RESTful) y, a continuación, establecer los encabezados de respuesta de la siguiente manera;

    @GET
    @Path("generateCalendar/{alias}/{start}/{end}")
    @Produces({ "text/v-calendar" })
    public Response generateCalendar(
            @QueryParam("alias") final String argAlias,
            @QueryParam("start") final String argStart,
            @QueryParam("end") final String argEnd) {
       ResponseBuilder builder = Response.ok();
       builder.header("content-disposition", "attachment;filename=calendar.ics");
       builder.entity("BEGIN:VCALENDAR\n<........insert meeting details here......>:VCALENDAR");
       return builder.build();
    }

    Esto puede ser servido por llamar a la ventana.ubicación en la dirección URL del servicio y funciona en Chrome, Firefox e IE8.

    Espero que esto ayude.

    OriginalEl autor cduggan

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Recent Articles

Python «set» con duplicados/elementos repetidos

Hay una forma estándar de representar un "conjunto" que puede contener elementos duplicados. Como yo lo entiendo, un conjunto tiene exactamente un cero o...

Python: generador de expresión vs rendimiento

En Python, ¿hay alguna diferencia entre la creación de un generador de objetos a través de un generador de expresión versus el uso de...

Cómo exportar/importar la Masilla lista de sesiones?

Hay una manera de hacer esto? O tengo que tomar manualmente cada archivo de Registro? InformationsquelleAutor s.webbandit | 2012-10-23

no distingue mayúsculas de minúsculas coincidentes en xpath?

Por ejemplo, para el xml a continuación <CATALOG> <CD title="Empire Burlesque"/> <CD title="empire burlesque"/> <CD...