如何创建消息队列?

如何创建消息队列?

问题描述:

我想显示的信息很少,以向用户提供反馈,而他 正在提供输入或仅与UI进行交互。如何创建消息队列?

我需要它为我的firefox插件,所以我必须在普通的javascript 而不是jQuery中开发它。

我希望显示消息,但在同一个 时间内只能看到一条消息,所以我需要某种类型的队列来管理消息传递。在某个时间 例如3秒钟的信息应该消失或者消失。

现在我可以将消息添加到DOM。任何建议如何实现队列 以及如何根据时间推送消息?

谢谢!

您可以在Firefox插件使用jQuery:

包括在指向jQuery的文件XUL文件的脚本标签,如:

<script type="text/javascript" src="chrome://extensionname/content/jquery.js" /> 

在每一个js的使用jQuery的,插入功能这条线:

$jQuizzle = jQuery.noConflict(); 

在每一个jQuery的电话,如果你试图操纵在当前浏览器窗口中的文件,你必须提供上下文“window.content.document”,LIK E本:

$jQuizzle(".myClass", window.content.document).show(); 

然后你就可以使用这个jQuery插件: http://benalman.com/projects/jquery-message-queuing-plugin/

+0

嗯这不适合我,我试图用$ jQuizzle(“#smsflatrateSidebar”,window.content.document).hide()隐藏整个内容。但没有任何反应 – 2011-02-17 12:21:28

+0

$ jQuizzle = jQuery.noConflict();似乎失败 – 2011-02-17 12:30:01

Perheps你需要FIFO(先进先出)

的概念,在这个简单的例子来看看在计划Java脚本语言:

function Queue() { 
    var data = []; 

    this.isEmpty = function() { 
     return (data.length == 0); 
    }; 

    this.enqueue = function(obj) { 
     data.push(obj); 
    }; 

    this.dequeue = function() { 
     return data.shift(); 
    }; 

    this.peek = function() { 
     return data[0]; 
    }; 

    this.clear = function() { 
     data = []; 
    }; 
} 

目前还不清楚你是什么类型的消息想要显示。 nsIAlertsService可以显示消息,但我不确定它排队如何。如果你想要简单的东西,那么也许你可以显示一个自定义的<tooltip>元素。