Print window

Status
Niet open voor verdere reacties.

comass

Gebruiker
Lid geworden
19 dec 2000
Berichten
456
Hoi,

Hoe kan ik deze link uitbreiden zodat deze behalve opent ook meteen geprint wordt?
PHP:
	<a target="_blank" href="<?php echo JRoute::_('index.php?view=invoice&tmpl=component&cborder_id='.$order->id,true,CBCHECKOUT_SECURECHECKOUT);?>"><?php echo JText::_('Invoice')?></a>

Iemand een oplossing voor mij?

Alvast bedankt.
 
Perfect, de vraag is opgelost.

Dit heb ik onderin mijn pagina gezet en werkt!

PHP:
<body onload="window.print();">
 
Perfect, de vraag is opgelost.

Dit heb ik onderin mijn pagina gezet en werkt!

PHP:
<body onload="window.print();">

Ik neem aan dat je pagina er nu zo uit ziet:
Code:
<html>
<head>
<style="type=text/css">
<!--
css
-->
</style>
</head>
<body>
tekst tekst
<body onload="window.print();">
</body>
</body>
</html>
Dit gebruik ik en volgens mij is het beter dan wat hierboven staat:
Code:
<html>
<head>
<style="type=text/css">
<!--
css
-->
</style>
</head>
<body>
tekst tekst
<script type="text/javascript">
	window.print()
</script>
</body>
</html>


Remi1995
 
@Remi1995: jawel, in theorie is het 'beter'. Op deze manier gaat de browser eerst de pagina laten zien, voordat ie moeilijk gaat doen met het Javascript. Het punt is dat window.print() pas aangeroepen 'kan' worden als de window ook daadwerkelijk klaar is met laden. Je print immers het window. Maargoed, het is al 2010, browsers kunnen het best aan zo.

De 'beste' oplossing is overgens gewoon 'echte' event handlers te gebruiken. Hoewel dit dus cross-browser een pain is, hier een voorbeeld, van de Resig:[JS]function addEvent( obj, type, fn ) {
if ( obj.attachEvent ) {
obj['e'+type+fn] = fn;
obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
obj.attachEvent( 'on'+type, obj[type+fn] );
} else
obj.addEventListener( type, fn, false );
}



/* de code waar het om gaat */

addEvent(window, 'load', function()
{
window.print();
});[/JS]
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan