如何在stackoverflow.com上创建页面顶部的信息栏?

blu*_*iel 3 usability user-interface

我非常嫉妒设计这个网站的人,尤其是页面顶部的"信息"栏,它经常会通知你.

我非常想在我的网站上看到这个,有没有人知道类似这样的可下载脚本?(PHP)

stackoverflow设计团队的答案会很好!;)

Sam*_*son 6

这将主要通过jQuery完成.这只是定期查询服务器的问题:

setInterval(function(){
  $.post("getUpdates.php", function(response){
    showInfoBar(response);
  });
}, 10000);
Run Code Online (Sandbox Code Playgroud)

这将每10秒请求更新.一旦页面加载,你也可以这样做.至于getUpdates.php中的PHP代码:

if (!isset($_SESSION["userid"]))
  die("You are not logged in");

$updates = getUpdatesForUser($_SESSION["userid"]);
if ($updates) {
  print json_encode($updates);
} else {
  print "No updates";
}
Run Code Online (Sandbox Code Playgroud)

对于get-updates,您可以将其作为数据库中的表来执行:

userid |         time        | updatemsg
-------------------------------------------------------------
   28  | 2009-08-21 12:53:02 | You've received the 'uber' badge.

获取用户更新就像查询此表以获取所有新更新一样简单.您可以创建一个字段来指示何时发送更新,并且不应再次发送.

这一切都非常融洽,但应该给你一个如何实现它的基本概念.