2009-05-17 7 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

私はfirebugで関数呼び出しをトレースしようとしましたが、私はその中に猿のパッチを当てることができましたが、Gmailが実行する何千もの関数呼び出しのためにできませんでした。 どのAJAXコールを取得するのがはるか簡単になるはずですが、私はあなたがリンクした答えを調査し、私が見つけることができるものを見ていきます。 –

0

スレッドにメッセージが表示されているときに読み込まれるメッセージがあります。それであなたの問題。

とにかくカスタムスタイルを使用してみませんか? UserStyles FFプラグイン。

+0

もっと分かりやすくするために質問を更新しました。それはまさに私が発見したものであり、私が解決しようとしているものです。 greasemonkeyの代わりに、別のFF拡張を「カスタムスタイル」といいますか?この拡張機能はどのように問題を解決しますか? –

+0

http://userstyles.org/ 私はあなたが何らかの形でgmailの外観を変えたいと思っていました。私はそれに「スタイリッシュ」を使用したいと思います。 –

+0

これは外見ではなく、実際には一部のリンクに動作を追加することです。 –

関連する問題