javascript - Greasemonkey 和 Gmail - 解析邮件内容

标签 javascript gmail greasemonkey

我想阅读 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 Greasemonkey API 方法,而此时我需要运行我的脚本。

有什么建议吗?

最佳答案

正如你所说,registerViewChangeCallback()函数仅在用户改变 View 时触发,例如线程到文件等。

您真正需要的是添加一个功能来拦截 gmail 的回发,然后更改链接。我从来没有尝试过自己这样做,但是this answer为您提供了一些示例代码。当 gmail 检索到新消息时,它将触发一个 readystatechange 事件,您的代码可以拦截该事件。然后,您可以按照您希望的方式更改消息内容(尽管您可能需要等待一段时间才能允许 gmail 首先插入消息 - 对此不确定)。

关于javascript - Greasemonkey 和 Gmail - 解析邮件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/875600/

相关文章:

javascript - Kendo UI Mobile vs Sencha Touch vs Intel App Framework

email - golang & postfix - 收到的电子邮件 header 是本地主机

javascript - 如何在 Greasemonkey 或 Tampermonkey 中排除 iframe?

javascript - 让 Greasemonkey 对元素的 ajax 更改使用react

javascript - 如何强制 Chrome 在固定的高度上向下滚动?

php - timthump 如何与查询字符串 url 一起使用

javascript - 可以延迟加载 jQuery 吗?

电子邮件地址中的 Javascript 'cvml'

html - Gmail 弄乱了我的电子邮件字体

javascript - 加载特定网站时自动运行 JavaScript 代码