首页 > 解决方案 > 我可以用 Javascript 添加日历事件吗?

问题描述

我想让用户输入他们的日期、时间、摘要...等,
并创建一个.ics文件,然后将其放入默认日历应用程序以创建事件,
但它仅适用于 Safari,
当我在 Chrome 上执行此操作时,它会下载.ics文件.

有可能让它在iOS和android上都运行吗?

这是我的代码:

function convertDate(date, time) {
            let dateStr = date.replaceAll('/', '');
            let timeStr = time.replaceAll(':', '');
            console.log(dateStr + 'T' + timeStr + '00');
            return dateStr + 'T' + timeStr + '00';
        }

        function addEvent() {
            let startDate = '2021/09/07';
            let startTime = '14:30';
            let endDate = '2021/09/07';
            let endTime = '23:00'

            var icsMSG =
                "BEGIN:VCALENDAR\n" +
                "METHOD:PUBLISH\n" +
                "PRODID:-//VMFIVE//EN\n" +
                "VERSION:2.0\n" +
                "BEGIN:VEVENT\n" +
                "DTSTART:" + convertDate(startDate, startTime) + "\n" +
                "DTEND:" + convertDate(endDate, endTime) + "\n" +
                "SUMMARY:" + 'TEST EVENT' + "\n" +
                "DESCRIPTION:" + 'TEST DESCRIPTION' + "\n" +
                "END:VEVENT\n" +
                "END:VCALENDAR";

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

标签: javascripteventscalendarevent-handlingicalendar

解决方案


推荐阅读