Notification.requestPermission () не работает в Chrome - PullRequest
0 голосов
/ 28 августа 2018

У меня проблема с 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. Однако, когда у меня появляется запрос, отображающийся в одном окне, его возврат в другой экземпляр приводит к тому, что запрос исчезает. Он появляется после изменения размера окна, кроме полноэкранного режима, или открепления вкладки. Никто не сталкивался с этой проблемой? Это происходит среди нескольких машин на моем рабочем месте

...