Har några irriterande problem med en utskriftsfunktion... Jag tror att det kan vara problem att tolka onload för en webbsida som skrivs ut med JavaScript. Alternativt kan du göra så här: Tack Per... <b>win.document.close();</b> verkade fixa det i IE och FF...Utskrift av innehåll i DIV
Följande vill jag skall kunna ske:
<info>
När en besökare klickar på en "Skriv-ut-ikon" på webbsidan skall innehållet i en DIV (id="content") på sidan formatteras(CSS) och skrivas ut på skrivaren.
</info>
Detta funkar "nästan"...
<script language="javascript">
function skrivut() {
var win = window.open('','','width=600,height=400,scrollbars=yes');
win.document.write('<html><head>');
win.document.write('<link rel="stylesheet" href="style/print.css" type="text/css">');
win.document.write('<title>Print</title></head>');
win.document.write('<body onload="window.print();">');
var d = document.getElementById("content");
win.document.write(d.innerHTML);
win.document.write('</body></html>');
}
</script>
...dvs det fungerar i IE ifall att jag refreshar popup:en.
I FF laddas popup:en in men sen står den bara och "väntar" (timglas)
Stoppar jag laddningen och refreshar så händer samma sak...
I Opera laddas popup:en men sen händer inget (ungefär som i IE)
När jag sen laddar om sidan laddas anropande fönsters innehåll(parent) in i popup-fönstret.
Någon som har något förslag på hur jag skall fixa detta?
Sv: Utskrift av innehåll i DIV
För mig fungerade det att ha en statisk sida för utskriften.
utskrift.htm:
<html>
<head>
<link rel="stylesheet" href="style/print.css" type="text/css">
<title>Print</title>
</head>
<body>
(Detta skall bytas ut)
</body>
</html>
Utskrivande sida:
<script language="javascript">
function skrivut() {
var win = window.open('utskrift.htm','Utskrift','width=600,height=400,scrollbars=yes');
win.document.body.innerHTML = document.getElementById("content").innerHTML;
win.print();
}
</script>
<div id="content">
En del som skall skrivas ut...
</div>
<button onclick="skrivut()">Skriv ut</button>
Sv: Utskrift av innehåll i DIV
<script language="javascript">
function skrivut() {
var content = document.getElementById("content").innerHTML;
var win = window.open('','Utskrift','width=600,height=400,scrollbars=yes');
win.document.open();
win.document.write('<html><head><link rel="stylesheet" href="style/print.css"
type="text/css"><title>Print</title></head><body>' + content + '</body></html>');
win.document.close();
win.print();
}
</script>
<div id="content">
En del som skall skrivas ut...
</div>
<button onclick="skrivut()">Skriv ut</button>
Observera att jag talar om att jag är färdig med utskriften av dokumentets innehåll genom win.document.close().
Sv: Utskrift av innehåll i DIV
Jag får det dock inte att fungera i Opera av någon anledning... :(
Något förslag?