Print Portal: No se pueden ver las impresoras cliente o falta el botón de imprimir al usar Chrome
Síntomas
Al usar la impresión del cliente con Print Portal en Chrome, la lista de impresoras del cliente no se carga y el botón de imprimir puede desaparecer de la interfaz.
Al revisar la consola del navegador, puedes ver un error como este:
Access to XMLHttpRequest at 'http://127.0.0.1:5952/Client/GetId/?_=1645721935000' from origin 'http://print.seagullscientific.com' has been blocked by CORS policy: The request client is not a secure context and the resource is in more-private address space `local`. core-libraries.min.js?buildNumber=175838:2
GET http://127.0.0.1:5952/Client/GetId/?_=1645721935000 net::ERR_FAILED
Entorno
BarTender 2021 y versiones posteriores
Print Portal con impresión del cliente habilitada
Chrome v98 o superior.
Solución
El mensaje de error proviene de una función llamada Private Network Access (anteriormente conocida como CORS-RFC1918), que limita la capacidad de los sitios web para enviar solicitudes a una red privada cuando el sitio no se ejecuta con protocolos seguros. Cuando Print Portal solicita la lista de impresoras locales para mostrar en la interfaz, realiza una de estas solicitudes CORS.
Cuando Print Portal tiene HTTPS habilitado, estas solicitudes CORS funcionan correctamente en Chrome. Sin embargo, si HTTPS no está habilitado, estas solicitudes CORS ahora están restringidas y no se pueden completar. Para solucionar este problema, es necesario habilitar HTTPS en Print Portal para poder usar la impresión del cliente en el navegador Chrome.
- Para habilitar HTTPS en tu propio Print Portal, sigue este artículo: Asegurar Print Portal con HTTPS.
- Si ves este problema en nuestro Print Portal público, utiliza esta URL para acceder a nuestro sitio de demostración: https://print.seagullscientific.com/
Recursos adicionales
Consulta los siguientes artículos para obtener más información sobre Private Network Access y sus cambios:
- https://developer.chrome.com/blog/private-network-access-preflight/
- https://developer.chrome.com/blog/private-network-access-update/
- https://web.dev/cors-rfc1918-feedback/
Información solo interna
Este problema se reportó por primera vez como BUG-3348