Llamar window.print() en una función no abre la ventana de impresión nativa de Safari. Sin embargo, esto funciona en Chrome.
He intentado:
document.execCommand('print', false, null) ocasionalmente funciona, pero el 90 % de las veces mostrará un documento de más de 100 páginas sin contenido en el cuadro de diálogo de impresión.macOS 12.3, Safari 15.4, Nuxt 2.15.7
Parece que hay dos problemas aquí:
window.print() en Nuxt no abre la ventana de impresión de Safari. En cuanto al primer problema, encontré este informe de error de que un EventSource activo evita que Safari muestre la ventana de impresión. Así que pensé, hmmm, tal vez el servidor de desarrollo de Nuxt esté usando esto de alguna manera para comunicarse con el cliente. Así que intenté ejecutar mi aplicación en modo de producción ( nuxt build && nuxt start ) y voilà, esto hizo que mi ventana de impresión de Safari apareciera como se esperaba.