Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] porque no funciona en firefox este script de impresion

Estas en el tema de porque no funciona en firefox este script de impresion en el foro de Javascript en Foros del Web. Buenas! pues eso tengo este codigo que me sirve para imprimir formatos dinamicos llenados basados en lo almacenado en mysql y hacer un registro de ...
  #1 (permalink)  
Antiguo 28/05/2014, 16:04
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años, 7 meses
Puntos: 23
Pregunta porque no funciona en firefox este script de impresion

Buenas!

pues eso tengo este codigo que me sirve para imprimir formatos dinamicos llenados basados en lo almacenado en mysql y hacer un registro de la impresion.
funciona bien la impresion en IE, Crhome pero en firefox funciona la impresion pero NO la re-direccion
¿porque?
Código PHP:
<script type="text/javascript">
var 
NEW_LOC "index.php";
function 
goNow() { document.location=NEW_LOC; }
function 
printPage() {
  if (
confirm("¿Imprimir Ficha Oficial Inscripcion?")) {
    
window.print();
    
goNow();
  }
}
</script> 
ya le eh buscado y en teoria deberia funcionar sin problema...

de antemano gracias por su ayuda.

saludos!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #2 (permalink)  
Antiguo 28/05/2014, 17:25
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: porque no funciona en firefox este script de impresion

Según Mozilla, document.location es un objeto/propiedad de solo lectura: https://developer.mozilla.org/en-US/...ument.location

En todo caso, creo que deberías usar window.location, o bien, window.location.href
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 29/05/2014, 00:33
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años, 7 meses
Puntos: 23
Respuesta: porque no funciona en firefox este script de impresion

Buenas..

Gracias por responder triby

efectivamente el problema era ese, lo raro es que funcionaba bien con IE y Chrome, solo firefox ignoraba y no funcionaba... en fin... Salucionado

[PHP]
<script type="text/javascript">
var NEW_LOC = "index.php";
function goNow() { window.location=NEW_LOC; }
function printPage() {
if (confirm("¿Imprimir Ficha Oficial Inscripcion?")) {
window.print();
goNow();
}
}
</script>
[PHP]

Lo dejo por si a alguien mas le sirve... Saludos!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #4 (permalink)  
Antiguo 29/05/2014, 10:35
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 11 años, 2 meses
Puntos: 578
Respuesta: porque no funciona en firefox este script de impresion

Cita:
Iniciado por Triby Ver Mensaje
Según Mozilla, document.location es un objeto/propiedad de solo lectura: https://developer.mozilla.org/en-US/...ument.location
Eso da igual, como dice el artículo que tú mismo has pasado; bien puedes asociarle un DOMString y trabajará como si se tratara de un string, o como si utilizaras su propiedad .href.

Aun así tengo mis dudas de por qué no funcionaba, si ambos hacen referencia al mismo objeto Location:

Código:
document.location === window.location; // true
  #5 (permalink)  
Antiguo 29/05/2014, 20:17
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: porque no funciona en firefox este script de impresion

PHPeros, supongo que por compatibilidad entre navegadores es preferible usar window.location, ya que document.location es, en teoría, una propiedad de solo lectura y, por tanto, dependerá del navegador si se respeta esa característica o no.

Y sí, document.location === window.location, porque ambos son un objeto Location y la única diferencia es ese "pequeño detalle" mencionado arriba.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 01/06/2014, 23:43
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años, 7 meses
Puntos: 23
Respuesta: porque no funciona en firefox este script de impresion

Buenas!!

pues con un detalle que ah surgido con el mismo codigo
como podran ver el codigo tiene por objeto imprimir la pagina actual y redireccionar a otra para realizar un registro a las bases de datos
ahora...
con document.location funciona muy bien con IE explorer pero falla con chrome y Firefox como ya explique anteriormente
en otra palabras... imprime la pagina y redireccion solo con IE sin importar version
ahora...
al cambiar como en teoria es correcto a:
window.location
imprime la pagina pero... solo redirecciona si se CANCELA la impresion, si se ejecuta la impresion NO llama al script de registro...

entiendase por "Imprimir" al hecho de mandar el documento a la impresora....

¿alguna orientacion o explicacion? porque lo que necesito es que SOLO redireccione SI se imprime la pagina, de lo contrario NO lo llame

de antemano gracias..

por cierto.. tambien ya probe con window.location.assign que en teoria es el proceder correcto y tampoco, al imprimir la pagina no llama al script

saludos
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #7 (permalink)  
Antiguo 01/06/2014, 23:56
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años, 7 meses
Puntos: 23
Respuesta: porque no funciona en firefox este script de impresion

bueno actualizo la informacion:
eh cambiado el codigo para ejecutarse de esta manera
Código PHP:
<script type="text/javascript">
function 
printPage() {
  if (
confirm("¿Imprimir ficha de Inscripcion?")) {
    
window.print();
    
document.location.href="regevnal.php";
  }
}
</script> 
con esto eh conseguido que se ejecute como deseo en IE y en chrome pero NO funciona en Firefox... Alguna idea??

de nuevo gracias por anticipado por su ayuda... saludos!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!

Etiquetas: firefox, funcion, impresion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:40.