5

未読のメールがあるときに、画面全体を赤やその他の色で点滅させる方法を探しています。これは、どの電子メールクライアントにも当てはまります。私はたくさんのグーグルをしました、そして何も見つけることができません。少し点滅する通知を作成するthunderbirdのアドオンがありますが、画面の右下隅に非常に小さく表示されます。

Gmailで実行して点滅を発生させるカスタムcssとjavascriptを記述できるFirefoxまたはChromeのアドオンを考えていました。どんなアイデアでも大歓迎です。

私はこれがあなたの通常のSOの質問ではないことを知っていますが、あなたはすべて素晴らしいです、そして私は他にどこを向くべきかわかりません。この種の質問のためのより良いフォーラムがそこにあるなら、あなたはそれを私に知らせることもできます。

ありがとう!

4

4 に答える 4

2

検索中にこのプログラムを見つけましたが、試していません。しかし、それは電子メールが到着したときに外部プログラムを実行できると言っています。したがって、必要なタスクを実行し、新しい電子メールが到着したときに実行できる小さなC#アプリケーションを作成できるようです。

http://www.jsonline.nl/Content/Poppy/Poppy.htm

于 2013-03-22T05:51:18.503 に答える
1

現在の Google メール チェッカー拡張機能のサンプル ( https://developer.chrome.com/extensions/samples.html ) を入手してください。それをパッケージ化されたアプリに変換し (必要な部分をつかみます)、非常に大きなウィンドウを開いてすぐに閉じます。これでうまくいくはずです。悲しいことに、フルスクリーンは不可能のようです。しかし、それが問題かどうかはわかりません。

于 2013-03-16T17:03:36.430 に答える
1

Chrome プラグインを作成する代わりに、ウィンドウ タイトルを点滅させるか、HTML5 通知を使用します。新しいメッセージについて IMAP Gmail をポーリングする簡単なページを作成し、大きな iFrame に gmail を含めます。新しいメッセージが見つかった場合、外部ウィンドウは通知を発行できます。

HTML5 通知: http://www.html5rocks.com/en/tutorials/notifications/quick/

点滅するタイトル(から採用):

var newMailBlinker = (function () {
    var oldTitle = document.title,
        msg = 'New Mail!',
        timeoutId,
        blink = function() { 
            document.title = document.title == msg ? ' ' : msg; 
        },
        clear = function() {
            clearInterval(timeoutId);
            document.title = oldTitle;
            window.onmousemove = null;
            timeoutId = null;
        };

    return function () {
        if (!timeoutId) {
            timeoutId = setInterval(blink, 1000);
            window.onmousemove = clear;
        }
    };
}());

PHP Poll Gmail IMAP (から採用):

$t1=time();//mark time in
$tt=$t1+(60*1);//total time = t1 + n seconds

do{
    if(isset($t2)) unset($t2);//clean it at every loop cicle
    $t2=time();//mark time
    if(imap_num_msg($imap)!=0){//if there is any message (in the inbox)

        $mc=imap_check($imap);//messages check
        //var_dump($mc); die;//vardump it to see all the data it is possible to get with imap_check() and them customize it for yourself
        echo 'New messages available';

    }else echo 'No new messagens';

    sleep(rand(7,13));//Give Google server a breack
    if(!@imap_ping($imap)){//if the connection is not up
        //start the imap connection the normal way like you did at first
    }

}while($tt>$t2);//if the total time was not achivied yet, get back to the beginning of the loop

IMAP スクリプトへの jQuery AJAX ポーリング(このから採用):

// make the AJAX request
function ajax_request() {
  $.ajax({
    url: '/path/to/gmail/imap/checkMessages.php',
    dataType: 'json',
    error: function(xhr_data) {
      // terminate the script
    },
    success: function(xhr_data) {
        console.log(xhr_data);
        if (xhr_data.status == 'No new messages') {
            setTimeout(function() { ajax_request(); }, 15000); // wait 15 seconds than call ajax request again
        } else {
            newMailBlinker(); // blink the title here for new messages
        }
    }
    contentType: 'application/json'
  });
}

明らかに、ポーリングに jQuery と PHP を使用することはありません。いずれかを選択してポーリングを行います。クライアントにポーリングを実行させ、接続ごとに PHP で IMAP をチェックさせることをお勧めします。そうは言っても、これらのスニペットから始める必要があります:)

于 2013-03-25T17:28:54.400 に答える
0

お父さんがクライアント ページを常に開いていると仮定すると、拡張機能を作成して JS で画面を操作するだけで済みます。

たとえば、次のことができます。

  1. Chrome で Gmail クライアントを使用する
  2. 入ってくる新しい電子メールをチェックする chrome 拡張機能を作成します。これは、新しい電子メールを識別することで実現できます。gmail は新しい電子メールに特定の css クラスを使用していると思います。したがって、JS はそのクラスをチェックする必要があります。

  3. 拡張機能で、ページを白から赤に変更し、白に戻す操作を数回 (または電子メールが読まれるまで) 行います。

また、新しいメールが届いたときに chrome 拡張機能で音を鳴らすこともできますか?

特に JS を使用する場合は、Chrome 拡張機能の方が FF よりもはるかに使いやすいことがわかりました。

于 2013-03-25T17:30:23.200 に答える