Avatar billede lirum Nybegynder
07. maj 2001 - 20:57 Der er 4 kommentarer

Print i en anden frame, crossbrowser

Jeg har lavet denne printfunktion, jeg kalder den ved:
<a href=\"java script:printpagepage(\'page\');\">


function printpage(page){
top.printFrame.location.href = page+\'?top=logo&menu=off&rightmenu=off\';   
top.printFrame.focus();
window.print();
}

Funktion indlæser en fil i en skjult/usynlig frame der så udskrives.

Dette virker næsten i IE5 og NS6 og slet ikke i NS4.

i IEog NS6 virker det som om den begynder at udskrive før siden er indlæst, hvorfor der kommer en blank side side første gang linket bruges. anden gang udeskriver den siden pænt.

I ns4 virker den ikke!

Det jeg spørger om er en NS4, NS6 & IE5 logik og hvorledes jeg får NS4 til at forstå hvad jeg mener
Avatar billede lirum Nybegynder
07. maj 2001 - 20:59 #1
bemærk venligst at kaldet ser således ud:
<a href=\"java script:printpage(\'page\');\">
og ikke som ovenstående
Avatar billede ldanielsen Nybegynder
07. maj 2001 - 21:06 #2
De(n) fil du indlæser, og som skal printes, er vel HTML??

Så kunne du komme nemt om ved det ved at kalde window.print() i den fil:

lav funktionen om til:

function printpage(page){
top.printFrame.location.href = page+\'?top=logo&menu=off&rightmenu=off\';
}


og i den der skal printes:

<body onLoad=\"window.print()\"



Avatar billede ldanielsen Nybegynder
07. maj 2001 - 21:09 #3
Jeg har fundet den her:
(Jeg forstår den ikke helt, men måske kan den hjælpe)

<html>
<head>
<meta NAME=\"GENERATOR\" Content=\"Microsoft Visual Studio 6.0\">
<title>wanna-save</title>
<script LANGUAGE=\"JavaScript\">

    DA = (document.all) ? 1 : 0
    //window.onerror=handle_error

    function handle_error(){
        alert(\"\\nNothing was printed. \\n\\nIf you do want to print this page, then\\nclick on the printer icon in the toolbar above.\")
        // to cancel the script error warning
        return true;
        }

    function ResetMe(){
        document.myForm.reset()
        }

</script>
<style type=\"text/css\">

body,p,div,span,th,td{font-family:Verdana,Arial;font-weight:normal;font-size:10px;}

.mell{ font-size:12px; font-weight:bold; }

.head{ font-size:20px;font-weight:bold; }

</style>
</head>

<body bgcolor=\"#FFFFFF\" topmargin=\"0\" leftmargin=\"0\" rightmargin=\"0\" onLoad=\"window.print()\">

Det der skal printes her!!

<script LANGUAGE=\"VBScript\">
sub window_onunload
    on error resume next
    set WB = nothing
end sub

sub print
    OLECMDID_PRINT = 6
    OLECMDEXECOPT_DONTPROMPTUSER = 2
    OLECMDEXECOPT_PROMPTUSER = 1
   
    on error resume next
    if DA then
        call WB.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER)
    else
        call WB.IOleCommandTarget.Exec(OLECMDID_PRINT ,OLECMDEXECOPT_DONTPROMPTUSER,\"\",\"\")
    end if

    if err.number <> 0 then
        if DA then
          alert \"Nothing Printed :\" & err.number & \" : \" & err.description
        else
          handle_error
        end if
    end if
end sub

if DA then
    wbvers=\"8856F961-340A-11D0-A96B-00C04FD705A2\"
else
    wbvers=\"EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B\"
end if

document.write  \"<OBJECT ID=\"\"WB\"\" WIDTH=0 HEIGHT=0 CLASSID=\"\"CLSID:\"
document.write wbvers & \"\"\"> </OBJECT>\"
</script>
</body>
</html>
Avatar billede lirum Nybegynder
07. maj 2001 - 21:11 #4
Jo, det kunne du have ret i. men NS4(dom) kan med det jeg har skrevet ikke hitte ud af at indlæse siden i den anden frame

Jeg tester lige din udgave i morgen tidlig, og så har du givetvis halvdelen af point´ene hjemme

thanks

/lirum 
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