Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

256
Vistas
Mostrando Hubo un problema con la impresión de la página en los navegadores móviles, window.print usando reactjs no es compatible con los navegadores móviles

La vista previa de impresión se abre en el navegador Chrome de escritorio, pero no se abre en los navegadores móviles. Está mostrando que hubo un problema con la impresión de la página. Si uso este código, no funciona en los navegadores móviles, muestra que hubo un problema con la impresión de la página. pero está funcionando en el escritorio

 print() { var print = window.open("", "", "left=0,top=0,width=800,height=500, scrollbars=1"); var pcontents= this.state.print; // In this.state.print am getting response from api with html tags like header and paragraph tags print.focus(); print.document.write(pcontents); print.document.close(); print.print(); print.close(); }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Agregue una función de tiempo de espera a su print.close() , para permitir que el servicio de impresión en su dispositivo móvil obtenga los datos antes de que se cierre la página.

Debería verse algo como esto:

 print.print(); setTimeout(function (){ print.close(); }, 2000);

2000 es el tiempo en milisegundos para el retraso. Si su servicio de impresión es lento, esto tampoco funcionará.

Lo que puede hacer es llamar a su print.close() manualmente después de que se realiza la impresión llamándolo después de un evento. Por ejemplo, un deslizamiento para que no haya un botón en su ventana que también se imprima.

Esta es una función de detección de deslizamiento.

 document.addEventListener('touchstart', handleTouchStart, false); document.addEventListener('touchmove', handleTouchMove, false); var xDown = null; var yDown = null; function getTouches(evt) { return evt.touches || // browser API evt.originalEvent.touches; // jQuery } function handleTouchStart(evt) { const firstTouch = getTouches(evt)[0]; xDown = firstTouch.clientX; yDown = firstTouch.clientY; }; function handleTouchMove(evt) { if ( ! xDown || ! yDown ) { return; } var xUp = evt.touches[0].clientX; var yUp = evt.touches[0].clientY; var xDiff = xDown - xUp; var yDiff = yDown - yUp; if ( Math.abs( xDiff ) > Math.abs( yDiff ) ) {/*most significant*/ if ( xDiff > 0 ) { /* right swipe */ } else { /* left swipe */ } } else { if ( yDiff > 0 ) { /* down swipe */ } else { /* up swipe */ } } /* reset values */ xDown = null; yDown = null; };
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda