Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用通知API js时出现问题_Javascript_Api_Firefox_Notifications - Fatal编程技术网

Javascript 使用通知API js时出现问题

Javascript 使用通知API js时出现问题,javascript,api,firefox,notifications,Javascript,Api,Firefox,Notifications,我在尝试在我的网站中实现通知时遇到了一个问题。 事实上,我正在尝试使用ajax请求调用PHP函数,以便使用mysql检查是否有任何通知。然后,如果有一个或几个通知,我从PHP返回我需要的信息,并使用通知API显示它们。我每5秒钟做一次 事实上,通知显示在右上角,我只能看到它的底部。 另一个奇怪的事实是,当我使用函数alert(),通知将正确显示。。这个问题发生在Firefox上,而不是chromium上 所以我的问题是,你知道为什么通知不能正确地放在firefox上而不是Chromium上吗?如

我在尝试在我的网站中实现通知时遇到了一个问题。 事实上,我正在尝试使用
ajax
请求调用
PHP
函数,以便使用
mysql
检查是否有任何通知。然后,如果有一个或几个通知,我从
PHP
返回我需要的信息,并使用通知API显示它们。我每5秒钟做一次

事实上,通知显示在右上角,我只能看到它的底部。 另一个奇怪的事实是,当我使用函数
alert(),通知将正确显示。。这个问题发生在Firefox上,而不是chromium上

所以我的问题是,你知道为什么通知不能正确地放在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("");
               }
           });
       }
}