Visualizzazione dei risultati da 1 a 6 su 6

Discussione: stampa ma senza css

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    76

    stampa ma senza css

    buongiorno mastri web,

    da qualche parte in intenet ho rubato questo codice (e vedo che l'hanno fatto in molti [è sempre lo stesso che gira]) che da la possibilità di stampare il contenuto di un div che abbia l'id passato nella funzione js...

    codice:
    function printContent(id){
    	str=document.getElementById(id).innerHTML;
    	newwin=window.open('','printwin','left=100,top=100,width=400,height=400');
    	newwin.document.write('<HTML>\n<HEAD>\n');
    	newwin.document.write('<TITLE>Report scarichi</TITLE>\n');
    	newwin.document.write("<link href='css/portal.css' rel='stylesheet' type='text/css' />");
    	newwin.document.write('<script>\n');
    	newwin.document.write('function chkstate(){\n');
    	newwin.document.write('if(document.readyState=="complete"){\n');
    	newwin.document.write('window.close()\n');
    	newwin.document.write('}\n');
    	newwin.document.write('else{\n');
    	newwin.document.write('setTimeout("chkstate()",2000)\n');
    	newwin.document.write('}\n');
    	newwin.document.write('}\n');
    	newwin.document.write('function print_win(){\n');
    	newwin.document.write('window.print();\n');
    	newwin.document.write('chkstate();\n');
    	newwin.document.write('}\n');
    	newwin.document.write('<\/script>\n');
    	newwin.document.write('</HEAD>\n');
    	newwin.document.write('<BODY onload="print_win()">\n');
    	newwin.document.write(str);
    	newwin.document.write('</BODY>\n');
    	newwin.document.write('</HTML>\n');
    	newwin.document.close();
    }
    cosa fa? praticamente apre una pagina popup con il solo contenuto da stampare e richiama su l'onload del body print_win() per stampare...
    ...fino qui tutto ok, il contenuto da stampare è corretto....il problema è che la stampa(effettiva) perde il layout dato dal css (colori, posizioni, ecc ecc)

    avete suggerimenti???

    grazie anticipatamente

  2. #2
    Crea un css apposito per la stampa ed includilo nel file creato
    Ciao!

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    76
    mi sono espresso male....

    il css è sbagliato solo nella stampa....nella pagina di "anteprima" creata, il css è corretto

    ok la cosa si fa mooolto più complicata...

    codice:
    tag 1:
    <th style="background-color: red;">Tipologia</th>
    
    tag 2:
    <th style="color: red;">Tipologia</th>
    allora:
    nel primo caso, il background risulta corretto nell'anteprima (rosso) ma nella stampa no (bianco)
    nel secondo caso i caratteri risultano corretti (rossi) sia nell'anteprima che nella stampa

    perche il colore del font si e il background no?????

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    dipendera' dalle tue impostazioni di stampa
    spesso di default gli sfondi non vengono stampati per risparmiare inchiostro

  5. #5
    Originariamente inviato da Xinod
    dipendera' dalle tue impostazioni di stampa
    spesso di default gli sfondi non vengono stampati per risparmiare inchiostro
    esatto, dipende dal client, nulla che puoi controllare tu!
    Ciao!

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    76
    nuoooooo!!....avevo paura di uns risposta simile

    Grazie
    Ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.