-
Q:
[Javascript] Na 1 minuut printen, en doorverwijzen
Hoi,
Ik zoek een script die na 1 minuut de pagina print, en vervolgens doorverwijst naar een andere website.
Ik neem aan dat dit met javascript te doen is . Ik ben al een endje opweg maar het werkt niet, de reden weet ik wel, namelijk omdat ik amper verstand heb van java.[code:1:f52e02a609]
function(timeout) {
window.setTimeout(linkenenprinten,6000);
}
function(linkenenprinten) {
window.print();
link("http://www.linkje.nl");
}
[/code:1:f52e02a609]Begin er dan mee om Java en JavaScript niet te verwarren. Die hebben helemaal niets met elkaar te maken en lijken ook niet op elkaar.
Jij wilt Javascript.
Met setTimeout() kun je die minuut regelen, dat heb je goed gezien.
Met print() kun je printen, ook al OK.
En met
[code:1:7829f7b3d6]location.href=’http://www.linkje.nl/’;[/code:1:7829f7b3d6]
kun je naar een andere pagina gaan.
Je was er bijna.
Oh en functies declareer je zo:
[code:1:7829f7b3d6]function fubar(){
…
}[/code:1:7829f7b3d6]Hier misschien verder?
Ik wist wel dat jij het wist
alleen.. hoe kan ik die functie nu aanroepen via een link?
[code:1:3b78d26cdf]<a href="javascript:function(hierdandefuncitenaamofzo)">Klikkerdeklik</a>[/code:1:3b78d26cdf]Oja, in mijn head van index.php staat dit:
[code:1:3b78d26cdf]<head>
<title><? echo "$titel"; ?></title>
<link href="inc/stijl.css" rel="stylesheet" type="text/css" />
<script language="JavaScript" src="inc/functies.js"></script>
</head>[/code:1:3b78d26cdf]
(hier linkt hij dus mijn javascriptje)en mijn javascript is dit:
[code:1:3b78d26cdf]function timen() {
window.setTimeout(forwardprint,6000);
}
function forwardprint {
window.print();
location.href=’http://www.linkje.nl’;
}[/code:1:3b78d26cdf]Nu wil ik dat hij de funcite timen al afspeelt als de site opent. Hoe krijg ik dit voor elkaar gebakken?
Mmm… vleier.
[code:1:c2c55cda14]<a href="http://www.linkje.nl/" onclick="return fubar()">Klikkerderklik</a>[/code:1:c2c55cda14]
Waarbij je kunt kiezen of je na het uitvoeren van de functie fubar de href alsnog wilt volgen of juist niet. Dat regel je door als laatste commando in fubar respectievelijk [code:1:c2c55cda14]return true;[/code:1:c2c55cda14] of [code:1:c2c55cda14]return false;[/code:1:c2c55cda14] te gebruiken.
En voor dat andere kun je het beste de body-tag even aanpassen:
[code:1:c2c55cda14]<body onload="timen()">[/code:1:c2c55cda14]
Nee, dat kan wel. Maar dan is het de bedoeling dat die functie de hele HTML van de pagina waar je naartoe wilt genereert en via een return aanreikt. Da’s ook leuk en kun je hele rara/mooie dingen mee doen. Maar ’t is niet wat je vroeg.
(Wil je niet liever een knop inplaats van een link om die functie uit te voeren? Mensen verwachten dat ze ergens heen gaan als ze een link zien.)
In plaats van twee aparte functies, kan je de function call binnen setTimeout ook embedden in de setTimeout handler. Dit is handiger als je binnen een variabele binen een function scope wil parsen naar het setTimeout event omdat het event dat getriggered wordt door de setTimeout handler niet meer in die function scope valt, maar in de global scope… (klinkt misschien nu allemaal wat ingewikkeld, maar als je wat meer met setTimeout gaat experimenteren kom je er vanzelf achter…
De functie komt er dan ongeveer zo uit te zien:[code:1:74cea4bde7]function timeout(url,time){
window.setTimeout(function(){
window.print();
window.location.href=url
},time);
} [/code:1:74cea4bde7]De functie kan je dan als volgt aanroepen[code:1:74cea4bde7]timeout(’http://example.com’,6000);[/code:1:74cea4bde7]”wout3r”Het is een plaatje die ik gebruik als link..
Je kunt die onclick ook heel goed op img-tag zelf zetten. Laat die a-tag maar gewoon weg, dan wordt het allemaal veel eenvoudiger en hoef je je ook niet druk te maken over de return-value van de functie.
[code:1:c761ec7f7d]<img src="…" alt="…" onclick="fubar()" />[/code:1:c761ec7f7d]
Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.