首页 > 解决方案 > 为什么我的推送通知仅在我有 Alert() 时才起作用;

问题描述

我想在短信发送到我的短信面板时收到通知。此代码从 JSON 文件中获取一条新短信,每 5 秒,我想检查我是否有新消息,如果是,则显示通知。

我收到短信并将其作为 json 保存在一个文件中。通知在 $.Each (jquery) 函数中。它仅在我在代码中使用 alert() 时有效!

jQuery(document).ready(function () {

    function noti(txt) {

        if (!("Notification" in window)) {
            alert("This browser does not support desktop notification");
        }

        else if (Notification.permission === "granted") {
            var notification = new Notification('A notification', { body: txt, icon: 'logo.png' });
        } else {
            Notification.requestPermission(function (permission) {

                if (!('permission' in Notification)) {
                    Notification.permission = permission;
                }
                if (permission === "granted") {
                    var notification = new Notification('A notification', { body: txt, icon: 'logo.png' });
                }
            });
        }
    }

};

setInterval(function () {
    $.getJSON('results.json', function (jd) {
        $.each(jd, function (i, item) {
            noti(jd[i].message);
            //alert(); if i un comment this,  will work!

        });
    });

}, 5000);
});

通知不显示!

标签: javascriptphpjquerypush-notification

解决方案


推荐阅读