Foros del Web » Programando para Internet » Javascript »

Script para imprimir imagenes evitando resto contenido.

Estas en el tema de Script para imprimir imagenes evitando resto contenido. en el foro de Javascript en Foros del Web. Hola Foreros. Tengo un script para imprimir una imágen evitando imprimir el resto del contenido; en mi caso un bloque de publicidad colocado encima de ...
  #1 (permalink)  
Antiguo 09/07/2009, 04:11
 
Fecha de Ingreso: julio-2009
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 0
Script para imprimir imagenes evitando resto contenido.

Hola Foreros. Tengo un script para imprimir una imágen evitando imprimir el resto del contenido; en mi caso un bloque de publicidad colocado encima de la imágen. Funciona muy bien en internet explorer, pero no en firefox ¿alguien podria ayudarnos a solucionarlo o sabe de algún otro script que haga lo mismo y funcione en ambos navegadores? Gracias de antemano

El script es este

<script language=javascript>

function JScreenHeight(){

var hs = screen.height - 100;

return hs;

}
</script>
<script language="JavaScript">
function removeelements(){
var remove_el=document.all.remove
//if there is only one element with id=remove
if (remove_el!=''&&remove_el.length==null)
remove_el.style.display='none'
else{
//for each element with id=remove
for (i=0;i<remove_el.length;i++)
remove_el[i].style.display='none'
}
}
function revertback(){
setTimeout("window.location.reload()",50)
}
window.onbeforeprint=removeelements
window.onafterprint=revertback

</script>

<div align="center"><center>

<table border="0" cellpadding="5" cellspacing="5" width="99"
height="60" id="remove">
<tr>

<td align="center" width="80"><a
href="javascript:window.print()"><img
src="impresora.gif"
alt="Imprime el dibujo" border="0" width="48" height="48"
id="remove"></a></td>
<td align="center"><!--webbot bot="HTMLMarkup" startspan --><AQUI EL CODIGO DE LA PUBLICIDAD O CONTENIDO>

<div align="center"><center>

<table border="0" cellpadding="0" cellspacing="0" width="567"
height="60">
<tr>
<td align="center"><img src="imagenes/imagen.gif"
width="100" height="112"></td>
  #2 (permalink)  
Antiguo 09/07/2009, 04:22
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Script para imprimir imagenes evitando resto contenido.

Hola

Probablemente solo te funciona en IE por esta linea

var remove_el=document.all.remove

para que funcione en ambos navegadores ha de ser

var remove_el=document.getElementById("remove")

Podemos evitar estos "inconvenientes" con esta función

Código javascripit:
Ver original
  1. var ns4 = (document.layers)? true:false
  2. var ie4 = (document.all)? true:false
  3. var ns6 = (document.getElementById)? true:false
  4.  
  5. function captura_objeto(idnombre) {
  6.     if (ns6)
  7.     {
  8.     return document.getElementById(idnombre);
  9.     }
  10.     else if (ie4)
  11.     {
  12.     return document.all[idnombre];
  13.     }
  14.     else if (ns4)
  15.     {
  16.     return document.layers[idnombre];
  17.     }
  18.     else
  19.     {
  20.     return null;
  21.     }
  22. }

Ahora el objeto lo llamarías

captura_objeto("remove")

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 09/07/2009, 04:57
 
Fecha de Ingreso: julio-2009
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Script para imprimir imagenes evitando resto contenido.

Muchisimas gracias por tu rápida respuesta

He cambiado esa línea de código y sigue imprimiendo la publicidad.

La función que has añadido abajo no se bien como aplicarla, no estoy muy puesta en esto, lo he intentando de varias formas y nada...
  #4 (permalink)  
Antiguo 09/07/2009, 05:23
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 4 meses
Puntos: 126
Respuesta: Script para imprimir imagenes evitando resto contenido.

Hola

Parece que el problema está en los eventos onbeforeprint y onafterprint que FF no los soporta, busca en web para encontrar un solución.

En cuanto a como usar la función, reemplaza

var remove_el=document.all.remove

por

var remove_el=captura_objeto("remove")

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
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 07:33.