【问题标题】:Greasemonkey and Gmail - parsing message contentsGreasemonkey 和 Gmail - 解析邮件内容
【发布时间】:2009-05-17 22:00:56
【问题描述】:

我想阅读 Gmail 邮件的内容并在链接上添加一些花哨的东西。这是一些代码:

unsafeWindow.gmonkey.load("1.0", function(gmail){
  gmail.registerViewChangeCallback(function(){
    if (gmail.getActiveViewType && gmail.getActiveViewType() == "cv") {
      var viewElement = gmail.getActiveViewElement()
      // Do things with viewElement
    }
  })
})

邮件的 dom 对象中的链接的实际检测是容易的部分。问题是registerViewChangeCallback 仅在您显示线程时运行。大线程将隐藏大部分消息,仅由用户请求加载。我还没有找到用于此特定操作(加载单个消息)的 Gmail 油脂猴 API 方法,此时我需要运行我的脚本。

有什么建议吗?

【问题讨论】:

    标签: javascript gmail greasemonkey


    【解决方案1】:

    正如您所说,registerViewChangeCallback() 函数仅在用户更改视图时触发,例如线程到档案等。

    您真正需要的是添加一个拦截 gmail 回发然后更改链接的功能。我自己从未尝试过,但this answer 为您提供了一些示例代码。当 gmail 检索到新消息时,它将触发 readystatechange 事件,您的代码可以拦截该事件。然后,您可以以任何您希望的方式更改消息的内容(尽管您可能需要等待片刻才能让 gmail 先插入消息 - 不确定那个)。

    【讨论】:

    • 我试图在 firebug 中跟踪函数调用,以便我可以修改这些函数,但由于 Gmail 执行了数千个函数调用,我无法做到。不过,弄清楚要接受哪个 AJAX 调用应该会容易得多,我会调查您链接到的答案,看看我能找到什么。
    【解决方案2】:

    我想你会发现有些消息在线程中列出时会被加载;因此你的问题。

    你为什么不直接使用自定义样式呢? UserStyles FF 插件。

    【讨论】:

    • 为了更清楚,我刚刚更新了我的问题;这正是我所发现的以及我正在努力解决的问题。 “自定义样式”是指另一个 FF 扩展,作为greasemonkey 的替代品吗?这个扩展将如何解决问题?
    • userstyles.org 我以为你想以某种方式改变 gmail 的外观;我会为此使用“时尚”。
    • 这不是为了看起来,真的,它是关于为某些链接添加行为。
    • 哦;好的。那不好意思了。帮不上忙。
    • 看来你不是唯一一个; ) 无论如何谢谢!
    猜你喜欢
    • 2014-09-04
    • 2013-10-14
    • 1970-01-01
    • 2015-07-22
    • 2012-10-10
    • 2012-03-24
    • 1970-01-01
    • 2018-04-29
    • 1970-01-01
    相关资源
    最近更新 更多