Пузырьковые уведомления через веб-приложение Google Chrome

У меня есть Google Chrome Packaged App и я использую тег webview для загрузки удаленной страницы (которую я не контролирую). Эта удаленная страница пытается запросить права на уведомления, и этот запрос разрешений, похоже, не передается приложению Chrome для переноса.

Я использую следующий (чрезмерно разрешающий) код, чтобы разрешить все запросы разрешений из веб-просмотра (и выводить все результаты консоли):

  webview.addEventListener('permissionrequest', function(e) {
    console.log("webview requested " + e.permission);
    e.request.allow();
  });

  webview.addEventListener('consolemessage', function(e) {
    console.log('From webview: ', e.message);
  });

Я не могу найти подтверждение в Интернете, но я думаю, что разрешения на уведомления в веб-просмотрах пока не разрешены. Если предположить, что это так, есть ли другие способы принудительно разрешить уведомление для сайта с веб-просмотром, который не будет заблокирован CORS?

1 ответ

Вы правы ( в том, что касается документов), что запросы на разрешение уведомлений не существуют, и нет никаких событий, указывающих на то, что уведомление должно отображаться.

То, что вы могли бы сделать, это внедрить скрипт контента, который, в свою очередь, внедрит скрипт уровня страницы, который заменяет Notification объект с чем-то, что передает сообщение в ваш контент-скрипт, который передает его вашему приложению, которое может показывать уведомление, используя chrome.notifications, Вот ответ, который объясняет эту инъекцию более подробно.

Другие вопросы по тегам