我在尝试在我的网站上实施通知时遇到了问题。
实际上,我正在尝试使用PHP
请求创建一个调用ajax
的函数,以便在有mysql
时检查是否有任何通知。然后,如果有一个/几个通知,我从PHP
返回我需要的信息,并使用通知API显示它们。我每5秒钟做一次。
事实上,通知显示在右上角,我只能看到它的底部。
其他奇怪的事实是,当我使用函数alert();
时,通知会正确显示..这个问题发生在Firefox上,而不是铬上。
所以我的问题是,你知道为什么通知没有正确地放在firefox上而不放在Chromium上吗?如果您需要更多信息,请不要犹豫。在此先感谢,如果您需要,请参阅以下代码:
有了这两个功能,我得到了我需要的东西,感谢php脚本。
function notifications() {
$.ajax({ url: './get_notifications.php/',
type: 'post',
data: {"name": window.user},
success: function(output) {
if (output != "")
{
split_notifications(output);
}
else
return;
},
failure: function() {
console.log("failed");
}
});
}
function check_notifications() {
setInterval(function() {
notifications();
}, 10000);
}
在这个函数中,我只是分割信息,然后调用另一个函数,负责创建我的通知。
function split_notifications(notif) {
var tmp_notif = notif.split(";");
var index = 0;
while (tmp_notif[0].split(",,,")[index])
{
//!\\ When I put alert() HERE it's working
display_notification(tmp_notif[1].split(",,,")[index], tmp_notif[2].split(",,,")[index], tmp_notif[0].split(",,,")[index]);
index += 1;
}
}
以下是创建通知的功能:
function display_notification(title, message, someone) {
{
if(window.Notification && Notification.permission !== "denied") {
Notification.requestPermission(function(status) { // status is "granted", if accepted by user
var project_notification = new Notification(title, {
body: someone + " " + message + '\nSee more...',
icon: "../img/" + someone.split(" ")[1] + ".png"
});
project_notification.onclick = function() {
alert("");
}
});
}
}