0

我已经在我的网络应用程序上编写了一个 webkit 通知脚本来从数据库中提取通知。代码如下所示:

function checkNotifications() {
    if (window.webkitNotifications.checkPermission() == 1) {
        window.webkitNotifications.requestPermission();
    }
    else {
        $.ajax({
            type: "GET",
            dataType: 'json',
            url: '/check_notifications',
            success: function(data){

                if (data){
                    var ticketId = data.ticket_id;
                    console.log(data);
                    var comment = data.comment;
                    var createdDate = data.created_at;
                    var notificationComment = data.comment;
                    var notificationId = data.notifcation_id;
                    var notification = window.webkitNotifications.createNotification('/pt_logo_small.png', 'Project Ticket '+ticketId+ ' Updated!', 'Ticket has been updated. Click here to see!');     
                    notification.show();
                    console.log(notificationId);

                    notification.onclick = function(){
                        this.close();
                        console.log("NOTIFICATION WAS CLICKED!")
                        $.ajax({
                            type: "GET",
                            dataType: 'json',
                            url: '/read_notifications/' + notificationId,
                            success: function(){
                                window.location = '/pto/' + ticketId;
                            },
                            error: function(){
                                window.location = '/pto/' + ticketId;
                            }
                        });
                        
                        console.log(ticketId, comment, createdDate);
                    };
                }

            }
        });
    }
    setTimeout(checkNotifications, 20000);
}   

由于某些原因。如果选择另一个选项卡,或者转到我的 webapp 中的另一个路径,脚本仍会运行以显示通知,但该.onclick事件永远不会触发。

有人知道为什么偶数不会触发吗?

根据Apple的说法,onclick应该使创建事件的页面成为焦点,它确实如此。然而,我的.onclick函数内部没有任何东西触发。

4

0 回答 0