Avatar billede wolfgang Praktikant
17. november 2004 - 11:25 Der er 18 kommentarer og
1 løsning

modificering af printscript

Hej med Jer,

Jeg har fundet dette script, der printer indholdet i et givent DIV ID ud.

Problemet er nu at den side der bliver åbnet, med det printvenlige indhold, også arver baggrundsfarven, som er blå.

Er det ikke en mulighed for at tilpasse scriptet, så baggrundsfarven i det nye vindue kan styres?

Håber I vil hjælpe.

Function:
<script language="JavaScript">
<!--
var gAutoPrint = true; // Flag for whether or not to automatically call the print function

function printSpecial()
{
    if (document.getElementById != null)
    {
        var html = '<HTML>\n<HEAD>\n';

        if (document.getElementsByTagName != null)
        {
            var headTags = document.getElementsByTagName("head");
            if (headTags.length > 0)
                html += headTags[0].innerHTML;
        }
       
        html += '\n</HE' + 'AD>\n<BODY bgcolor="#FFFFFF">\n';
       
        var printReadyElem = document.getElementById("printReady");
       
        if (printReadyElem != null)
        {
                html += printReadyElem.innerHTML;
        }
        else
        {
            alert("Could not find the printReady section in the HTML");
            return;
        }
           
        html += '\n</BO' + 'DY>\n</HT' + 'ML>';
       
        var printWin = window.open("","printSpecial");
        printWin.document.open();
        printWin.document.write(html);
        printWin.document.close();
        if (gAutoPrint)
            printWin.print();
    }
    else
    {
        alert("Sorry, the print ready feature is only available in modern browsers.");
    }
}
</script>


Linket:
java script:void(printSpecial())

printSpecial = lig med det DIV tag for indholdet ligger i.

MVH
Wolfgang
Avatar billede wolfgang Praktikant
17. november 2004 - 11:26 #1
Som I kan se, har jeg prøvet at sætte BODY bgcolor="#FFFFFF".
Det har dog ingen efffekt :(
Avatar billede synfab Nybegynder
17. november 2004 - 12:00 #2
Avatar billede wolfgang Praktikant
17. november 2004 - 12:04 #3
Hej Synfab,

Det ser sgu godt ud.

Hvordan skal det script rettes til, således at den kun tager indholdet i <div id="printSpecial">indhold der skal printes</div>
Avatar billede synfab Nybegynder
17. november 2004 - 12:08 #4
divs=new Array("1","2","3","8");
skal så være:
divs=new Array("printSpecial");
Avatar billede wolfgang Praktikant
17. november 2004 - 13:33 #5
Hej igen,

Nu har jeg prøvet at rette det lidt til.

<script language="javascript" type="text/javascript">
function printPage(){
    if(document.all&&navigator.userAgent.indexOf("Opera")==-1){
        h=400;
        w=600;
        winTop=(screen.height - h - 100) / 2;
        winLeft=(screen.width - w) / 2;
        features="height="+h+",width="+w+",top="+winTop+",left="+winLeft+",toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=no,titlebar=no";
        strTitel=document.title;
        var strContent=document.getElementById(printReady);
        var doc="<html>\n";
        doc+="<head>\n";
        doc+="<title>Print Side\133"+strTitel+"\135<\57title>\n";
        doc+="<\57head>\n";
        doc+="<body>\n";
        doc+=strContent+"\n";
        doc+="<\57body>\n";
        doc+="<\57html>\n";
        newWin=window.open("","printWin",features);
        newWin.document.write(doc);
        newWin.document.close();
        newWin.focus();
        //newWin.print();
        //newWin.close();
        }
    else{
        window.print();
        }
    }
</script>

Jeg har slettet koden der løber igennem de form checkboxe, da jeg ikke bruger dem.

Jeg har der ud over sat variablen strcontent statisk til at være indholdet af DIV tagget printReady

Eks.:
var strContent=document.getElementById(printReady);

Nu får jeg kun "null" udskrevet i mit "print-vindue"

Kan du forklare dette?

MVH
Wolfgang
Avatar billede synfab Nybegynder
17. november 2004 - 13:38 #6
du mangler nogle "er omkring printReady:

var strContent=document.getElementById("printReady");
Avatar billede wolfgang Praktikant
17. november 2004 - 13:42 #7
Har jeg lige tilføjet, så får jeg blot [object] skrevet ud :(
Avatar billede synfab Nybegynder
17. november 2004 - 13:45 #8
hvordan kalder du funktionen?
Avatar billede wolfgang Praktikant
17. november 2004 - 13:46 #9
Hej,

java script:printPage();
<A href="java script:printPage();">Print denne side</A>
Avatar billede wolfgang Praktikant
17. november 2004 - 13:46 #10
Altså linket ser således ud:
<A href="java script:printPage();">Print denne side</A>
Avatar billede synfab Nybegynder
17. november 2004 - 13:50 #11
<a href="/?printPage" onclick="printPage();return false;">Print denne side</a>
Avatar billede wolfgang Praktikant
17. november 2004 - 13:57 #12
Endnu en gang [object].

Kan det ikke være henvisningen til mit DIV ID?

Her er koden fra min browser:
<DIV id=printReady>
<H1>Velkommen til CVU FYN </H1>
<P>CVU FYN er en sammenlægning af Odense Seminarium, Fyns Pædagogseminarium og Danmarks Pædagogiske Universitet (Fyn). </P>
<P>CVU FYN tilbyder læreruddannelse, og pædagoguddannelse samt efter- og videreuddannelse af lærere, pædagoger og voksen-undervisere. <BR>Desuden foregår der en omfattende kursusvirksomhed indenfor det pædagogiske arbejdsfelt. </P>
<H2>Velkommen til vores hjemmeside.</H2>
<P>&nbsp;</P></DIV></DIV>

Det er da mystisk...
Avatar billede wolfgang Praktikant
17. november 2004 - 13:58 #13
Beklager...

Glemte lige at få første linje med.

<DIV class=T_Content>
<DIV id=printReady>
<H1>Velkommen til CVU FYN </H1>
<P>CVU FYN er en sammenlægning af Odense Seminarium, Fyns Pædagogseminarium og Danmarks Pædagogiske Universitet (Fyn). </P>
<P>CVU FYN tilbyder læreruddannelse, og pædagoguddannelse samt efter- og videreuddannelse af lærere, pædagoger og voksen-undervisere. <BR>Desuden foregår der en omfattende kursusvirksomhed indenfor det pædagogiske arbejdsfelt. </P>
<H2>Velkommen til vores hjemmeside.</H2>
<P>&nbsp;</P></DIV></DIV>
Avatar billede synfab Nybegynder
17. november 2004 - 14:03 #14
ahh... der manglede lige en innerHTML:

var strContent=document.getElementById("printReady").innerHTML;
Avatar billede wolfgang Praktikant
17. november 2004 - 14:07 #15
Whoa... Det er sgu godt set.

Tusind tak!!!

Husk lige at oprette et svar :D
Avatar billede synfab Nybegynder
17. november 2004 - 14:10 #16
velbekomme :-)
Avatar billede synfab Nybegynder
17. november 2004 - 14:10 #17
.
Avatar billede wolfgang Praktikant
17. november 2004 - 14:11 #18
Det er vel fortjent
Avatar billede synfab Nybegynder
17. november 2004 - 14:14 #19
mange tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester