Toon posts:

javascript window.print() werkt niet

Pagina: 1
Acties:
  • 216 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Het volgende probleem;
Ik bouw dynamisch een pagina op waarin ik aan het eind een window.print() heb opgenomen. Ik open deze pagina in een nieuw window.
Als deze pagina de eerste keer geladen wordt start hij niet automatisch de printfunctie op. Na een refresh doet hij het wel.
Een reeds bestaande pagina (dus niet dynamisch opgebouwd en de url als argument in de window.open() meegegeven) met window.print() onderaan de pagina werkt wel.


code:
1
2
3
4
5
6
7
8
<script>
content = "content<SCRIPT>window.print();<\/SCRIPT>";

printwindow = window.open();

printwindow.document.write (content);

</script>


Iemand een oplossing hiervoor?

  • dominic
  • Registratie: Juli 2000
  • Laatst online: 21-08 19:07

dominic

will code for food

Wat werkt er nou niet? Je zegt dat alles wel werkt..

Download my music on SoundCloud


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 14:29

RM-rf

1 2 3 4 5 7 6 8 9

code:
1
content = "content<SCRIPT>window.print();<\/"+"SCRIPT>";

misschien dat de slash al genoeg werkt, maar ikzelf breek altijd een sluitende script-tag hard op, om te voorkomen dat de sluitende script-tag door de html-rendering engine geinterpreteerd wordt.

wat nog belangrijker is, is dat een document.write gebruiken om een javascript function-call op te roepen nogal onpraktisch is en vragen om problemen, gebruik dan eerder een window.eval("window.open()"); maar zelfs de eval kun je beter vermijden; hier werkt:

code:
1
2
3
4
5
<script type="text/javascript">content = "content";
printwindow = window.open();
printwindow.document.write(content);
printwindow.print();
</script>


een stuk beter

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

RM-rf schreef op 15 May 2003 @ 10:04:
code:
1
content = "content<SCRIPT>window.print();<\/"+"SCRIPT>";

misschien dat de slash al genoeg werkt, maar ikzelf breek altijd een sluitende script-tag hard op, om te voorkomen dat de sluitende script-tag door de html-rendering engine geinterpreteerd wordt.

wat nog belangrijker is, is dat een document.write gebruiken om een javascript function-call op te roepen nogal onpraktisch is en vragen om problemen, gebruik dan eerder een window.eval("window.open()"); maar zelfs de eval kun je beter vermijden; hier werkt:

code:
1
2
3
4
5
<script type="text/javascript">content = "content";
printwindow = window.open();
printwindow.document.write(content);
printwindow.print();
</script>


een stuk beter
alleen de escape is doorgaans voldoende, ik heb daar tot op heden nog geen problemen mee ondervonden.
Wb het schrijven naar een popup:

code:
1
2
3
4
5
6
<script type="text/javascript">content = "content";
printwindow = window.open();
printwindow.document.write(content);
printwindow.document.close();
printwindow.print();
</script>

de close() zorgt ervoor dat de browserparser niet blijft wachten op meer data :)

Intentionally left blank


Verwijderd

Topicstarter
Yep dat werkt.
thnx