来自chatbox </title>的<title>中的网络通知

时间:2012-09-19 09:28:01

标签: php javascript notifications title

我正在尝试将网页通知放入我网页的标题/标签页面中。因此,每当有人说某事并且您不在选项卡上时,会发出通知,告知您有新消息。

有什么简单的方法可以解决这个问题吗? Here's a live link of the chat 我是否必须篡改post.php?或者

<?
session_start();
 if(isset($_SESSION['name'])){
$text = $_POST['text']; 
$fp = fopen("log.html", 'a');
fwrite($fp, "<div class='msgln'> C:\Users\<b>".$_SESSION['name']."></b> ".stripslashes(htmlspecialchars($text))."<br></div>");
fclose($fp);
}
?>

还是会篡改输入?

$(document).ready(function(){
//If user submits the form
$("#submitmsg").click(function(){   
    var clientmsg = $("#usermsg").val();
    $.post("post.php", {text: clientmsg});              
    $("#usermsg").attr("value", "");
    return false;
});

提前感谢任何帮助 !

2 个答案:

答案 0 :(得分:2)

我建议您查看JavaScript函数setInterval()。如果发现任何更新,则使此功能每x ms检查一次更新;编辑页面标题。

这样的事情可以解决问题,调整以获得首选结果:

// This function will run every ~1s
setInterval(function() {

   // Get the new data
   $.post('post.php', function(data) {

      // Handle the data
      document.title = data;

   });


}, 1000);

你一定要在PHP脚本上添加一些错误检查(检查是否设置了变量:isset($_SESSION['value'])),也可以在javascript上添加。

答案 1 :(得分:0)

在javascript中查看“document.title”。

var xarray = ['Someone Posted','Someone else posted'];
var i = 0;

function changeTitle(data){
  document.title = data;
}

function changeEvery5Seconds()
{
   i++;
   i = i%2;
   changeTitle(xarray[i]);
   setTimeout("changeEvery5Seconds();",5000);
}
changeEvery5Seconds();