跨浏览器Gmail检查器开发指南

在这个数字化时代,电子邮件成为了日常生活和工作中不可或缺的一部分。Gmail作为最受欢迎的电子邮件服务之一,提供了许多便捷的功能。但是,经常需要检查是否有新的邮件到来,这可能会分散注意力。为了解决这个问题,可以开发一个跨浏览器的Gmail检查器插件,它可以自动检查Gmail中的未读邮件数量,并在浏览器按钮上显示这个数字。本文将详细介绍如何使用Kango框架开发这样一个插件,支持Chrome、Firefox、Internet Explorer、Safari和Opera等主流浏览器。

环境准备

在开始使用Kango框架之前,需要完成以下步骤:

1. 安装Python2.7。请访问下载并安装。

2. 下载Kango框架,并将其解压到任意文件夹。

3. 在磁盘上创建一个项目文件夹,并在框架文件夹中运行kango.py文件创建新项目。

d:\dev\kango\kango.py create

4. 在请求输入项目名称时,输入“Gmail Checker”。

5. 接下来,可以开始编写扩展程序的代码了。稍后,可以通过文件common\extension_info.json设置扩展程序的名称和版本。

编写Gmail检查器

这个扩展程序将定期检查Gmail中的未读邮件数量,并在浏览器按钮上显示这个数字。

创建项目后,打开src\common文件夹,会看到main.js文件中已经创建了模板。

1. 初始化扩展程序。需要订阅UI模块的准备就绪事件,因为扩展程序具有视觉组件,即浏览器中的按钮。

var extension = new GmailChecker();

2. 获取未读邮件数量。未读邮件数量可以通过访问https://mail.google.com/mail/feed/atom获取,格式为Atom 0.3。为了正确工作,用户需要在当前浏览器中登录Gmail。

var details = { url: 'https://mail.google.com/mail/feed/atom', method: 'GET', async: true, contentType: 'xml' }; kango.xhr.send(details, function(data) { if (data.status == 200) { var doc = data.response; var count = doc.getElementsByTagName('fullcount')[0].childNodes[0].nodeValue; } });

3. 在按钮上显示消息数量。可以使用kango.ui.browserButton对象调整按钮属性。

_setUnreadCount: function(count) { kango.ui.browserButton.setTooltipText('Unread count: ' + count); kango.ui.browserButton.setIcon('icons/icon16.png'); kango.ui.browserButton.setBadgeValue(count); };

4. 将所有内容整合在一起。

function GmailChecker() { var self = this; self.refresh(); kango.ui.browserButton.addEventListener(kango.ui.browserButton.event.Command, function() { self.refresh(); }); window.setInterval(function(){self.refresh()}, self._refreshTimeout); } GmailChecker.prototype = { _refreshTimeout: 60*1000*15, // 15 minutes _feedUrl: 'https://mail.google.com/mail/feed/atom', _setOffline: function() { kango.ui.browserButton.setTooltipText('Offline'); kango.ui.browserButton.setIcon('icons/icon16_gray.png'); kango.ui.browserButton.setBadgeValue(0); }, _setUnreadCount: function(count) { kango.ui.browserButton.setTooltipText('Unread count: ' + count); kango.ui.browserButton.setIcon('icons/icon16.png'); kango.ui.browserButton.setBadgeValue(count); }, refresh: function() { var details = { url: this._feedUrl, method: 'GET', async: true, contentType: 'xml' }; var self = this; kango.xhr.send(details, function(data) { if (data.status == 200) { var doc = data.response; var count = doc.getElementsByTagName('fullcount')[0].childNodes[0].nodeValue; self._setUnreadCount(count); } else { // something went wrong self._setOffline(); } }); } }; var extension = new GmailChecker();

总的来说,只需要50行代码就可以为扩展程序工作,它可以与所有流行的浏览器一起使用。

图标

需要将图标以PNG格式放置在common/icons文件夹中,图标名称分别为icon16.png、icon32.png、icon48.png、icon128.png,尺寸分别为16×16、32×32、48×48、128×128像素。此外,还需要放置一个名为icon16_gray.png的图标,以显示非活动状态。

项目构建

要构建项目,请使用kango.py并带上构建参数和项目文件夹路径。

d:\dev\kango\kango.py build ./
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485