javascript - significa - para q sirve facebook app manager
La notificación HTML5 no funciona en Mobile Chrome (2)
Ejecutando este código:
if (''Notification'' in window) {
Notification.requestPermission();
}
La consola en Chrome DevTools muestra este error:
Unkeught TypeError: Error al construir ''Notification'': constructor ilegal. Use ServiceWorkerRegistration.showNotification () en su lugar
Un mejor enfoque podría ser:
function isNewNotificationSupported() {
if (!window.Notification || !Notification.requestPermission)
return false;
if (Notification.permission == ''granted'')
throw new Error(''You must only call this /*before/* calling
Notification.requestPermission(), otherwise this feature detect would bug the
user with an actual notification!'');
try {
new Notification('''');
} catch (e) {
if (e.name == ''TypeError'')
return false;
}
return true;
}
Fuente de función: HTML5Rocks
Estoy usando la API de notificación HTML5 para notificar al usuario en Chrome o Firefox. En los navegadores de escritorio, funciona. Sin embargo, en Chrome 42 para Android, se solicita el permiso pero la notificación en sí no se muestra.
El código de solicitud funciona en todos los dispositivos:
if (''Notification'' in window) {
Notification.requestPermission();
}
El código de envío funciona en el navegador de escritorio pero no en el móvil:
if (''Notification'' in window) {
new Notification(''Notify you'');
}
Pruebe lo siguiente:
navigator.serviceWorker.register(''sw.js'');
Notification.requestPermission(function(result) {
if (result === ''granted'') {
navigator.serviceWorker.ready.then(function(registration) {
registration.showNotification(''Notification with ServiceWorker'');
});
}
});
Eso debería funcionar en Android tanto en Chrome como en Firefox Nightly (pero no en la versión beta de Firefox).
(El archivo sw.js
solo puede ser un archivo de cero bytes).
Una advertencia es que debe ejecutarlo desde un origen seguro (una URL https
, no una URL http
).
https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration/showNotification tiene más información.
https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/BygptYClroM tiene información sobre por qué el constructor de Notification
no es compatible con Chrome en Android, aunque todavía está en el escritorio de Chrome.