У меня проблема с push-уведомлениями в Chrome. На некоторых устройствах в моей сети веб-сайты, обычно запрашивающие разрешения на публикацию push-уведомлений, не запрашивают их. Эта функция работает в некоторых браузерах в моей сети, но не работает в других. Chrome версия 68.0.3440.106 на всех машинах.
Чтобы разобраться в этом деле, я запускаю в консоли простой скрипт, который должен вызвать запрос браузера:
Notification.requestPermission().then(function(result) {
if (result === 'denied') {
console.log('denied');
return;
}
if (result === 'default') {
console.log('default');
return;
}
console.log(result);
return;
});
На машинах, где push работает должным образом, это обещание разрешается, тогда как на «неисправных» оно не разрешается. У меня не настроен браузер для разрешения или отклонения уведомлений (я никогда не нажимал «разрешить» или «отклонить» в запросе, поскольку он никогда не появлялся). Я не знаю, куда идти отсюда, вот что я пробовал до сих пор:
- У меня не настроено поведение уведомлений в браузере, разрешающее или запрещающее.
- Chrome: // flags показывает "default" для всех записей, касающихся push-уведомлений.
- Консоль не печатает никаких ошибок / предупреждений
запуск chrome с параметром --enable-logging --v = 1 не показывает ничего подозрительного при запуске скрипта. Вот выдержка:
[7772:21772:0828/101500.364:VERBOSE1:thread_state.cc(1024)] [state:00007FFB173B67A0] PostSweep: collection_rate: 0.00067%
[7772:21772:0828/101500.421:VERBOSE1:thread_state.cc(1024)] [state:00007FFB173B67A0] PostSweep: collection_rate: 0%
[7772:21772:0828/101500.422:VERBOSE1:thread_state.cc(1430)] [state:00007FFB173B67A0] CollectGarbage: time: 15ms stack: HeapPointersOnStack marking: AtomicMarking sweeping: EagerSweeping reason: ForcedGC
[7772:21772:0828/101500.427:VERBOSE1:thread_state.cc(1430)] [state:00007FFB173B67A0] CollectGarbage: time: 4.9ms stack: NoHeapPointersOnStack marking: AtomicMarking sweeping: LazySweeping reason: PreciseGC
Я бы очень признателен, если бы кто-нибудь сказал мне, что еще проверить, я действительно потерян с этим. Заранее спасибо!
Редактировать: Очевидно, это странная проблема смещения экрана. Запрос показывает отлично, когда у меня работает два экземпляра Chrome. Однако, когда у меня появляется запрос, отображающийся в одном окне, его возврат в другой экземпляр приводит к тому, что запрос исчезает. Он появляется после изменения размера окна, кроме полноэкранного режима, или открепления вкладки. Никто не сталкивался с этой проблемой? Это происходит среди нескольких машин на моем рабочем месте