Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 当存在未读电子邮件时,如何使屏幕闪烁_Html_Css_Windows_Google Chrome_Firefox - Fatal编程技术网

Html 当存在未读电子邮件时,如何使屏幕闪烁

Html 当存在未读电子邮件时,如何使屏幕闪烁,html,css,windows,google-chrome,firefox,Html,Css,Windows,Google Chrome,Firefox,当有未读的电子邮件时,我正在寻找任何方法使整个屏幕闪烁红色或任何颜色。它可以用于任何电子邮件客户端。我用谷歌搜索了很多次,什么也找不到。thunderbird有一个附加组件,可以创建一个小的闪烁通知,但它只在屏幕的右下角显示很小 我想在Firefox或Chrome上添加一些插件,让我可以编写自定义的css和javascript,在Gmail上运行,从而实现闪烁。 非常感谢您的任何想法 我知道这不是你们经常问的问题,但你们都很好,我不知道还有什么可以问的。如果有更好的论坛,你也可以告诉我 谢谢 获

当有未读的电子邮件时,我正在寻找任何方法使整个屏幕闪烁红色或任何颜色。它可以用于任何电子邮件客户端。我用谷歌搜索了很多次,什么也找不到。thunderbird有一个附加组件,可以创建一个小的闪烁通知,但它只在屏幕的右下角显示很小

我想在Firefox或Chrome上添加一些插件,让我可以编写自定义的css和javascript,在Gmail上运行,从而实现闪烁。 非常感谢您的任何想法

我知道这不是你们经常问的问题,但你们都很好,我不知道还有什么可以问的。如果有更好的论坛,你也可以告诉我


谢谢

获取当前google mail checker扩展示例()。将其转换为打包的应用程序(抓取您想要的片段),打开一个非常大的窗口并快速关闭。这应该能奏效。遗憾的是,全屏显示似乎不可能。但是我不知道这是否是个问题。

我在搜索时找到了这个程序,但没有尝试过。但它表示,当电子邮件到达时,它可以执行一个外部程序。因此,您似乎可以编写一个小型C#应用程序来执行您想要的任务,并在新电子邮件到达时执行


我不制作Chrome插件,而是让窗口标题闪烁或使用HTML5通知。创建一个简单的页面,轮询您的IMAP Gmail以获取新消息,并将Gmail包含在一个大iFrame中。如果发现新消息,外部窗口可以发出通知

HTML5通知

闪烁标题(采用自):

PHP轮询Gmail IMAP(采用自):

jQuery AJAX轮询到您的IMAP脚本(采用自):


显然,您不会使用jQuery和PHP进行投票。选择一个进行投票。我建议让客户端进行轮询,并让PHP检查每个连接的IMAP一次。这就是说,这些代码片段应该让你开始:)

假设你爸爸总是打开客户端页面,你可以编写一个扩展并用JS操作屏幕

例如,您可以:

  • 在chrome中使用gmail客户端
  • 编写一个chrome扩展来检查收到的新电子邮件。您可以通过识别新的电子邮件来实现这一点。我相信gmail在新邮件中使用了特定的css类。所以你的JS只需要检查这个类

  • 让分机将页面从白色改为红色,再改回白色几次(或直到阅读电子邮件)

  • 你也可以让chrome扩展在新邮件到达时播放声音


    我发现chrome扩展比FF更容易使用,特别是如果你只想使用JS。

    注意,在打包的应用程序中提供全屏支持。这应该是在M26开发,也许现在测试通道。所有客户端。。。你是说所有的服务器?GMail、Hotmail、Yahoo和其他基于web的电子邮件服务,还有Pop/Imap服务器?@ixe013我是说任何客户端,我都不在乎使用哪一个。答案可能是雷鸟的特定附加组件。它不需要适用于所有电子邮件服务。但它确实需要与Windows和Pop/Imap协同工作。为什么会有人想这样做呢?如果你真的做到了这一点,那就准备好收到无数来自enerved用户的仇恨邮件。@ixe013他写道“任何”不是“所有”或“所有”。@HerrSerker没有“用户”参与,只是我爸爸在他的咖啡馆收到订单,想要一个可见的信号,表明他收到了一封电子邮件订单。
    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;
            }
        };
    }());
    
    $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
    
    // 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'
      });
    }