使用Notification API js时遇到问题

时间:2016-11-03 09:51:07

标签: javascript api firefox notifications

我在尝试在我的网站上实施通知时遇到了问题。 实际上,我正在尝试使用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("");
               }
           });
       }
}

0 个答案:

没有答案