Estoy tratando de escribir un complemento para un sitio web, el sitio web siempre carga este complemento como un iframe. Me gustaría enviar notificaciones del navegador al usuario, usando esta API: https://developer.mozilla.org/en-US/docs/Web/API/Notification/requestPermission El único problema es que la API no parece admitir preguntas permiso de un iframe.
¿Hay alguna manera de que pueda hacer que esto funcione? También probé esta solución: ¿Cómo suscribirse a pushManager a través de iframe en Chrome? )
"La única alternativa (que hemos usado para Pushpad Express, por ejemplo) es redirigir para abrir una nueva ventana desde el iframe, luego pedir permiso desde la ventana de nivel superior y finalmente redirigir de nuevo". y pidiendo el permiso de ahí, pero nunca me pide permiso, por lo que el valor queda negado.
Desafortunadamente, eso tampoco parece funcionar para mí, abro una nueva ventana y pido permiso, pero tampoco muestra la solicitud.
¿Alguien tiene otras ideas?
Edición 1:
Estoy tratando de hacerlo de esta manera ahora: abre una nueva ventana pero aún no tuve suerte al pedir el permiso:
function openAndPush() { var win = window.open("", "", "width=400,height=400"); win.test = function () { askNotificationPermission(); } win.test(); setTimeout(function () { win.document.body.appendChild(element); console.log('New script appended!') }, 10000); }Edición 2: el código funcionó al pedir permiso en una nueva ventana, ejecuta este fragmento de código:
if (Notification.permission === "granted") { console.log("[App] @!@@!!@!@!@!@!@!@!@") var notification = new Notification("Hi there!"); }Lo que significa que se otorgan los permisos, pero todavía no veo una notificación de escritorio. El sitio web es https, la configuración de Chrome está verificada y no hay errores. ¿Alguien tiene una sugerencia?