Пузырьковые уведомления через веб-приложение 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
, Вот ответ, который объясняет эту инъекцию более подробно.