Firefox 的 Jetpack 扩展案例分析:Gmail 邮件提醒

作者:blank 来源:怿飞博客 时间:2009-10-15 12:41:00 

Gtalk 软件的最下方有个很好又很实用的功能,就是 Gmail 邮件提醒功能。会定时更新你 Gmail 中未读新邮件的数量。

试想如果我们将此功能移植到 Firefox 上一定有趣!

第一步,在状态栏中显示图标和数据。

通过 《如何创建 Firefox 的 Jetpack 扩展》 这篇文章,我们可以轻易的创建:

jetpack.statusBar.append({
    html: '<img src="http://mail.google.com/mail/images/favicon.ico"/><span id="count"></span>', //Gmail邮件图标和未读新邮件数
    width: 55, //状态栏上的宽度为55
    onReady: function(widget) {
        $("#count", widget).css({ //给未读新邮件数添加样式
            cursor: "pointer",
            paddingLeft:"4px",
            fontFamily: "Tahoma, Arial, sans-serif",
            verticalAlign: "top",
            fontSize: "10px",
            lineHeight:"18px",
        });
    }
});

第二步,获取 Gmail 的数据,更新未读新邮件数。

可以通过 Gmail 邮件的 Feed 获得(需登录):https://mail.google.com/mail/feed/atom

Feed 源码中的 fullcount 标签是用来记录当前的未读新邮件数。

OK,首先数据源有了。接着,我们使用再熟悉不过的 Ajax 技术,获取到数据并赋给指定的元素。

function update(widget) {
    var widget = $(widget);

    $.get("https://mail.google.com/mail/feed/atom", function(xml) {
        var el = $(xml).find("fullcount"); // 记录未读新邮件数的节点
        if(el){
            var newcount = parseInt(el.get(0).textContent);
            widget.find("#count").text(newcount); //赋给指定的元素
        } else { //如果未登录,显示“Login”
            widget.find("#count").text( "Login" );
        }
    });
}

标签:Gtalk,firefox,Jetpack,插件,提醒
0
投稿

猜你喜欢

  • Python参数解析模块sys、getopt、argparse使用与对比分析

    2021-12-19 17:39:58
  • MySQL表设计优化与索引 (四)

    2010-10-25 19:50:00
  • Django+Nginx+uWSGI 定时任务的实现方法

    2022-11-14 16:02:57
  • Python编程入门的一些基本知识

    2023-09-07 00:07:24
  • 简单介绍Python中的decode()方法的使用

    2021-01-05 23:47:31
  • Python语言的12个基础知识点小结

    2023-08-23 10:12:07
  • TypeScript中extends的正确打开方式详解

    2024-02-25 07:14:18
  • MySql中特殊运算符的使用方法总结

    2024-01-19 23:27:09
  • MYSQL必知必会读书笔记 第一章(基础)

    2024-01-20 09:23:52
  • Python excel合并居中值相同的单元格实例代码

    2021-09-24 13:40:47
  • Python解释器以及PyCharm的安装教程图文详解

    2021-04-09 11:56:32
  • Perl eval函数使用实例

    2022-12-21 05:25:55
  • Python实现获取nginx服务器ip及流量统计信息功能示例

    2023-08-03 02:03:26
  • Vue Cli3 创建项目的方法步骤

    2024-05-21 10:16:53
  • Python语言描述最大连续子序列和

    2023-10-03 20:16:24
  • Ubuntu18.04中Python2.7与Python3.6环境切换

    2021-10-13 17:21:02
  • 在linux系统下安装python librtmp包的实现方法

    2021-05-08 21:13:50
  • mysql的group_concat函数使用示例

    2024-01-22 00:10:02
  • 浅谈ACCESS数据库升迁SQLSERVER注意事项

    2007-08-11 13:44:00
  • 在Linux系统上通过uWSGI配置Nginx+Python环境的教程

    2023-01-05 22:25:57
  • asp之家 网络编程 m.aspxhome.com