Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[HTML/JS] Stampare pagina Web

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

[HTML/JS] Stampare pagina Web

Postdi Triumph Of Steel » 13/06/06 12:23

Ho 2 problemi di stampa!

1.
Ho bisogno di stampare una pagina contenuta in un frame, ma per qualche assurdo motivo, vengono stampate anche le altre pagine.

Mi spiego.
Ho un FrameSet che contiene 3 frame:
topFrame, mainFrame (da stampare), bottomFrame.

#FRAMSET:
Codice: Seleziona tutto
<frameset rows="80,*,50" frameborder="no" border="0">
  <frame src="header.htm" name="topFrame" title="topFrame" scrolling="NO" noresize>
  <frame src="main.htm" name="mainFrame" title="mainFrame" scrolling="YES">
  <frame src="footer.htm" name="bottomFrame" title="bottomFrame" scrolling="NO" noresize>
</frameset>


uso la seguente funzione JS per stampare (cercare di stampare) il mainFrame, che si trova proprio nella pagina "main.htm":

Codice: Seleziona tutto
var da   = (document.all) ? 1 : 0;
var pr   = (window.print) ? 1 : 0;
var mac   = (navigator.userAgent.indexOf("Mac") != -1);
function Stampa() {
   if (pr && da) { // IE5
      setTimeout("print();", 1000);
   } else if (pr) { // NS4
      setTimeout("print();", 1000);
   } else if (da && !mac) { // IE4 (Windows)
      setTimeout("print();", 1000);
   } else { // other browsers
      //alert("Sorry, your browser doesn't support this feature.");
   }
}
window.focus();
Stampa();

Le ho provate tutte, anche altri Javascript simili, ma nulla.
Sto facendo i test per ora su Windows/IE 6.0.
Il javascript funziona benissimo, solo che mi stampa anche gli altri 2 frame e su pagine diverse.
================================
2.
Quando stampo, le immagini di fondo (background-image) definite nel CSS e usate nelle tabelle della pagina, non vengono stampate. Ho cercato in giro e sembra proprio non si possa fare l'"override" dell'opzione dei browser, però chiedo ugualmente se qualcuno è riuscito!
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Sponsor
 

Postdi Dylan666 » 13/06/06 13:47

Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi archimede » 13/06/06 13:54

Oppure questo?

HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi Triumph Of Steel » 13/06/06 15:50

si.. tutti e due..
sono stati i primi che ho provato.. dopodichè leggendo in giro ho trovato anche che lanciando la stampa subito dopo il focus della finestra, poteva accadere che la stampa partisse prima del focus, ecco il perchè del setTimeOut della mia funzione..
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Postdi archimede » 13/06/06 16:04

Ti interessa solo IE?

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi Triumph Of Steel » 13/06/06 17:19

No.. in teoria dovrebbe funzionare su:

Windows
IE, FireFox
Macintosh
IE, Firefox, Safari

Su Macintosh IE ho saputo che il javascript:print() non funziona, quindi li non mi interessa!
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Postdi Dylan666 » 13/06/06 20:14

Domanda: ma se fcessi un javascript che apre il frame per un attimo in una nuova finestra, ne lancia la stampa e poi la chiude? :undecided:
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi Triumph Of Steel » 14/06/06 10:21

Dylan666 ha scritto:Domanda: ma se fcessi un javascript che apre il frame per un attimo in una nuova finestra, ne lancia la stampa e poi la chiude? :undecided:


Il problema è che quel frameset è già una nuova finestra (popup).. se ne apro un'altra il cliente mi uccide :P
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Re: [HTML/JS] Stampare pagina Web

Postdi Triumph Of Steel » 14/06/06 12:24

Triumph Of Steel ha scritto:2.
Quando stampo, le immagini di fondo (background-image) definite nel CSS e usate nelle tabelle della pagina, non vengono stampate. Ho cercato in giro e sembra proprio non si possa fare l'"override" dell'opzione dei browser, però chiedo ugualmente se qualcuno è riuscito!


ho trovato un metodo che funziona.
Invece di usare il background-image, inserisco l'immagine direttamente in un DIV e sopra metto un altro livello con il testo. In questo modo viene stampato tutto :)
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00


Torna a Programmazione


Topic correlati a "[HTML/JS] Stampare pagina Web":


Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

cron