Javascript Greasemonkey和Gmail-解析消息内容

Javascript Greasemonkey和Gmail-解析消息内容,javascript,gmail,greasemonkey,Javascript,Gmail,Greasemonkey,我想阅读Gmail信息的内容,并在链接上添加一些幻想。下面是一些代码: unsafeWindow.gmonkey.load("1.0", function(gmail){ gmail.registerViewChangeCallback(function(){ if (gmail.getActiveViewType && gmail.getActiveViewType() == "cv") { var viewElement = gmail.getActi

我想阅读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方法来执行这个特定的操作(加载一条单独的消息),这正是我需要运行脚本的时候


有什么建议吗?

我想你会发现一些消息在线程中列出时会被加载;这就是你的问题


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

我想你会发现一些消息在线程中列出时被加载;这就是你的问题

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

正如您所说,该函数仅在用户将视图从线程更改为存档等时启动

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

正如您所说,该功能仅在用户将视图从线程更改为存档等时启动


您真正需要的是添加一个拦截gmail回发的功能,然后更改链接。我从来没有尝试过自己做这件事,但有一些示例代码供您使用。当gmail检索到一条新消息时,它将触发一个
readystatechange
事件,您的代码可以拦截该事件。然后,您可以按照自己的意愿更改邮件的内容(尽管您可能需要等待片刻才能允许gmail先插入邮件,但对此并不确定)。

我刚刚更新了我的问题,以便更清楚地说明问题;这正是我所发现的,也是我试图解决的问题。“自定义样式”是指另一个FF扩展,作为greasemonkey的替代品吗?这个扩展将如何解决这个问题?我以为你想以某种方式改变gmail的外观;我会用“时尚”来表达。这不是为了外表,真的,这是为了给一些链接添加行为;可以对不起。没办法。似乎你不是唯一一个;)无论如何谢谢你!我只是更新了我的问题以便更清楚;这正是我所发现的,也是我试图解决的问题。“自定义样式”是指另一个FF扩展,作为greasemonkey的替代品吗?这个扩展将如何解决这个问题?我以为你想以某种方式改变gmail的外观;我会用“时尚”来表达。这不是为了外表,真的,这是为了给一些链接添加行为;可以对不起。没办法。似乎你不是唯一一个;)无论如何谢谢你!我试图在firebug中跟踪函数调用,这样我就可以通过monkey patch来跟踪这些调用,但由于Gmail执行了数千个函数调用,所以我没能做到。不过,弄清楚要使用哪种AJAX调用应该容易得多,我将调查您链接到的答案,看看我能找到什么。我曾试图在firebug中跟踪函数调用,以便能够对这些调用进行修补,但由于Gmail执行了数千个函数调用,所以无法实现。不过,弄清楚要使用哪种AJAX调用应该容易得多,我将调查您链接到的答案,看看能找到什么。