entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

imprimir y redireccione a otra pagina con sweetalert

hola muy buenas a todos quisiera que apoyoran intento imprimir una pagina automaticamente y que despues de darle click en imprimir me redireccione a otra pagina ya intente con

<body onLoad="window.print(); window.location.assign('mat.php');" >

pero solo redirecciona no me muestra el dialogo de imprimir he intente con un un sweet alerte si me hace la impresion y me redirecciona el unico de talle es como le puedo hacer para que al momento de imprimir con el sweet solo me puestre el texto y no me salga tambien el cuadro del sweet

<script type="text/javascript">
swal({
  title: "Generar Vista?",
  text: "",
  type: "warning",
  showCancelButton: true,
  confirmButtonColor: '#3085d6',
  //cancelButtonColor: '#d33',
  confirmButtonText: "Imprimir",
  cancelButtonText: "Cancelar",
  closeOnConfirm: true,
  closeOnCancel: false
},
function(isConfirm) {
  if (isConfirm) {
//Si SE confirma la eliminacion se ejecuta el reenvio al php encargado
    print();
    window.location.href="mat.php";
  } else {
//Si se cancela se emite un mensaje
    window.location.href="mat.php";
  }
});
</script>

1 Respuesta

2votos

magarzon Puntos30650

Tienes dos opciones:

  1. En la función que se llama al confirmar, provocar que se cierre la ventana con swal.close(), antes de llamar al print. Esto no lo he probado, y dependiendo de varios factores puede funcionar o no
  2. Usando media queries de CSS (revisa las clases de sweetalert, creo que son estas, pero dependiendo de la versión puede cambiar). Esto sí que he probado que funciona. En tu fichero CSS (o en tu sección styles de la página, si no usas ficheros CSS), pon esto (si necesitas que tu web funcione en versiones muy antiguas de navegadores, tipo IE8, dímelo y te digo cómo ponerlo para que funcione)
    @media print {
    .sweet-alert, .sweet-overlay {
      display: none !important;
    }
    }

1voto

kenan777 comentado

muchas gracias magarzon me funcionó la 2 opcion con los css :) bendiciones e igual me gustaria que funcionara con versiones muy antiguas de navegadores...

1voto

magarzon comentado

Para soportar versiones (muy) antiguas de navegadores, en lugar de utilizar @media, pon esos mismos estilos en un fichero aparte e inclúyelo en tu página así:

<link rel="stylesheet" href="printStyle.css" media="print" />

Recuerda eliminar el @media print de la solución que te di, incluye solo los estilos en ese fichero:

.sweet-alert, .sweet-overlay {
  display: none !important;
}

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta