2009-05-17 30 views
1

我想閱讀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方法,這是我需要運行腳本的時間。

有什麼建議嗎?

回答

1

正如你所說,registerViewChangeCallback()函數只有在用戶改變他們的視圖時纔會觸發。線程歸檔等。

你真正需要的是添加一個攔截gmail的回發功能,然後更改鏈接。我從來沒有嘗試過自己做,但this answer有一些示例代碼給你。當gmail檢索到新消息時,它會觸發readystatechange事件,您的代碼可以攔截該事件。然後,您可以以任何希望的方式更改消息內容(儘管您可能需要等待一段時間才允許gmail先插入消息 - 不確定那個消息)。

0

我想你會發現一些消息在線程中列出時被加載;因此你的問題。

爲什麼不直接使用自定義樣式? UserStyles FF插件。

+0

我剛更新了我的問題以獲得更多清晰度;這正是我發現的和我試圖解決的問題。 「另一種FF自定義風格」指的是另一種FF擴展,作爲greasemonkey的替代品嗎?這個擴展如何解決這個問題? – 2009-08-16 01:05:30

+0

http://userstyles.org/ 我以爲你想以某種方式改變Gmail的外觀;我會爲此使用'時尚'。 – 2009-08-16 01:10:36