【问题标题】:Mozilla Thunderbird Addon - Create TaskMozilla Thunderbird 插件 - 创建任务
【发布时间】:2014-03-21 00:06:35
【问题描述】:

我是 Mozilla 插件开发的初学者。我需要一些帮助来开发功能,即。分配任务管理器就像闪电插件。

当我点击一个按钮时,一个弹出窗口应该会询问主题、开始日期、截止日期、assignTo(电子邮件 ID)。当我们点击保存并发送时,它应该发送一个 RSVP(邀请邮件)。如果用户接受邀请它应该在 sqlite 数据库中更新。这个怎么做。任何有一些代码或建议的人。我认为我们需要在此插件中使用 Google 日历,但我不知道如何在插件开发中使用它来创建任务和发送邀请。

还有.ics文件有什么用,如果有人知道请告诉我。

谢谢。我会非常感谢你。

【问题讨论】:

    标签: firefox-addon google-calendar-api mozilla add-on thunderbird-addon


    【解决方案1】:

    这是我最近做的一个任务的例子:

    var dJsm = Components.utils.import("resource://gre/modules/Downloads.jsm").Downloads;
    var tJsm = Components.utils.import("resource://gre/modules/Task.jsm").Task;
    var fuJsm = Components.utils.import("resource://gre/modules/FileUtils.jsm").FileUtils;
    
    var view = {
        onDownloadChanged: function(download) {
            cDump(download, 'Changed');
            if (download.succeeded) {
                var file = fuJsm.File(this.target.path));
                cDump(file,'file);
            }
        }
      };
    tJsm.spawn(function () {
    
      let list = yield dJsm.getList(Downloads.ALL);
        list.addView(view);
     //list.removeView(view);
    
    }).then(null, Components.utils.reportError);
    
                        function cDump(obj,title) {
                            var tstr = '';
                            var bstr = '';
                            var fstr = '';
                            for (var b in obj) {
                                try {
                                    bstr += b + '=' + obj[b] + '\n';
                                } catch (e) {
                                    fstr = b + '=' + e + '\n';
                                }
                            }
                            tstr += '<b>BSTR::</b>\n' + bstr;
                            tstr += '\n<b>FSTR::</b>\n' + fstr;
                            var cWin = Services.wm.getMostRecentWindow('navigator:browser');
                            var onloadFunc = function () {
                                cWin.gBrowser.selectedTab = cWin.gBrowser.tabContainer.childNodes[cWin.gBrowser.tabContainer.childNodes.length - 1];
                                newTabBrowser.removeEventListener('load', onloadFunc, true);
                                if (title) { newTabBrowser.contentDocument.title = title; }
                                newTabBrowser.contentDocument.body.innerHTML = tstr.replace(/\n/g, '<br>')
                            };
                            var newTabBrowser = cWin.gBrowser.getBrowserForTab(cWin.gBrowser.addTab('about:blank'));
                            newTabBrowser.addEventListener('load', onloadFunc, true);
                        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-08
      • 2018-12-07
      • 2019-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-07
      相关资源
      最近更新 更多