El siguiente código muestra un <iframe sandbox... que apunta a una página que abre un websocket de prueba con un mensaje de apertura exitosa. Funciona correctamente en Chrome y Edge imprimiendo el It worked! mensaje inmediatamente.
En Firefox falla con Uncaught DOMException: The operation is insecure. y sin más razonamiento.
<!DOCTYPE html> <html lang="en"> <body> <iframe sandbox="allow-scripts" src="https://firefox-wss-example.tiiny.site/"></iframe> </body> </html>El código fuente de la página websocket vinculada es simplemente el siguiente:
<!DOCTYPE html> <html lang="en"> <body> <script> const ws = new WebSocket('wss://demo.piesocket.com/v3/channel_1?notify_self'); ws.addEventListener('open', () => { console.log('It worked!'); }); </script> </body> </html> Probé una combinación de wss:// y ws:// , así como encabezados CORS permisivos, pero ninguno de mis intentos solucionó el problema en Firefox a pesar de tener una configuración adecuada. Estoy empezando a pensar que se trata de un error de Firefox 97, pero no estoy seguro de cómo verificarlo.
¿Por qué este fragmento funciona en la mayoría de los navegadores pero falla en Firefox?