Форум программистов, компьютерный форум, киберфорум
JavaScript: API
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 24.01.2018
Сообщений: 43
1
Chrome Extention

Не показываются desktop уведомления на некоторых браузерах

12.02.2019, 03:15. Показов 602. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Столкнулся с проблемой: на некоторых браузерах Chrome не показываются уведомления.
вызываю уведомление через ServiseWorkerRegistration.showNotification :
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function showNotification (title, options) {
    navigator.serviceWorker.ready.then(function(reg) {
            reg.getNotifications().then(function(notificationsList) {
                if (notificationsList.length > 0) {
                    var c = false;
                    notificationsList.forEach(function(notif){
                        if (notif.tag == options.tag){
                            c = false;
                        } else {
                            c = true;
                        }
                    });
                    if (c) {
                        reg.showNotification(title, options);
                    }
                } else {
                    reg.showNotification(title, options);
                }
            
            });
        });
}
уведомления объявлены в манифесте в optional_permissions :
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
"permissions": [
        "alarms",
        "tabs",
        "storage",
        "cookies",
        "activeTab",
        "webRequest", 
        "webRequestBlocking"
    ],
    "optional_permissions": [
        "*://*/*",
        "notifications"
    ]
запрашивается разрешение через chrome.permissions.request :
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
acessButton.bind('click', function(event) {
        var server = serverInputSpace.val();
        var promise = new Promise(function (resolve, reject) {
            chrome.storage.local.get(['jsessionId'], function(data) {
                if (data.jsessionId != null) {
                    resolve(server);
                } else {
                    var httpsUrl = server+"/secure/Dashboard.jspa";
                    chrome.permissions.request({
                        permissions: ["notifications"],
                        origins: ["https://"+httpsUrl]
                    }, function (perm) {
                        if (perm) {
                            var cookiePromise = new Promise(function(cResolve, cReject) {
                                chrome.cookies.get({
                                    url: "https://"+httpsUrl,
                                    name: 'atlassian.xsrf.token'
                                }, function(value) {
                                    cResolve(value);
                                });
                            }).then(function(jsessionId) {
                                chrome.storage.local.set({jsessionId: jsessionId}, function() {/*console.log(jsessionId)*/});
                                acessAreaIndicator.css('backgroundColor', "green");
                                acessAreaIndicator.html("server online");
                                resolve(server);
                            });
                        }
                    });
                }
            });
        }).then(function(server) {
            chrome.storage.local.set({server: server}, function() {/*console.log("server addres saved");*/});
            fillSpace('project', server);
            fillSpace('user', server);
            fillSpace('status', server);
            var promise = new Promise(function(resolve) {
                setTimeout(resolve, 1000);
            }).then(function() {
                acessAreaIndicator.css('backgroundColor', "transparent");
                acessAreaIndicator.html("");
                filterContainer.css('visibility',"visible");
            });
        });
    });
настройки браузеров полностью идентичные, но на одних браузерах уведомления показываются, на других - нет

Подскажите в чем может быть проблема?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2019, 03:15
Ответы с готовыми решениями:

Не проигрывается swf на некоторых браузерах
Почему мой swf не проигрывается например на том-же Хроме (висит на 1 кадре прелоадера и все) и...

Анимация не срабатывает в некоторых браузерах
сайт - wsfox.ru если в окне "Сделать заказ" кликнуть на кнопку, то анимация срабатывает в...

Мигают ссылки в некоторых браузерах
Помогите пожалуйста в браузерах опера и мозилла все ссылки моргают, в хроме отображаются...

Реклама и баннеры в некоторых браузерах
Доброго времени суток Меня беспокоит реклама, типа: сообщений из контакта или прямо по центру...

1
129 / 112 / 39
Регистрация: 27.09.2012
Сообщений: 305
15.02.2019, 19:50 2
У меня во всех версиях безглючно работает такой способ:

Javascript
1
2
3
4
 if ( "Notification" in window && Notification.permission === "granted" ) {
            var notif = new Notification("Text1", {body: "Text2", icon: null});
             setTimeout( function () { notif.close(); }, 4000);  //Опционально
       }
0
15.02.2019, 19:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.02.2019, 19:50
Помогаю со студенческими работами здесь

Шрифт не виден на некоторых компах и браузерах
На некоторых компах шрифт Arial Narrow не срабатывает. У меня на компе работает, кроме браузера...

Подскажите плз!!! Не работает сайт в некоторых браузерах
Здравствуйте! Ребята, подскажите мне пожалуйста ответ на вопрос, который мне грызет мозг уже...

Анимация CSS не работает на некоторых мобильных браузерах
Для теста взял старый телефон с андроидом 4.4, и проверил в 3-х браузерах: хром, UC, и стандартный....

Меню переносится на вторую строку в некоторых браузерах
Подскажите как сделать кроссплатформенность ,делался под Chrome и там все нормально а вот с IE и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru