我正在尝试将网页通知放入我网页的标题/标签页面中。因此,每当有人说某事并且您不在选项卡上时,会发出通知,告知您有新消息。
有什么简单的方法可以解决这个问题吗? 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;
});
提前感谢任何帮助 !
答案 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();