16. oktober 2002 - 14:25Der er
4 kommentarer og 1 løsning
Automatisk tilføj tid til links
Jeg mangler et script som automatisk kan tilføje aktuel tid til links IDET DER BLIVER KLIKKET på dem.
Det skal virke HELT UDEN brug af onClick events. Man skal kunne sætte det ind på en side kun ved at importere en .js fil og måske tilføje en event handler til body.
Der må ikke ændres ved de eksisterende links på siden
Du skal have en fil alllinks.js som indeholder følgende:
// Convert number to 2 character leading-zero string function numto2dig( num ) { var ret = num.toString(); if (ret.length == 1) { ret = '0' + ret; } return ret; }
// onclick handler, which is registered on all links function alllinks_click( e ) { var nexthref = this.href;
// Get current time var tim = new Date(); // Convert to text var texttime = '?time=' + numto2dig(tim.getHours()) + numto2dig(tim.getMinutes()) + numto2dig(tim.getSeconds());
// Append time to link reference nexthref = nexthref + texttime; location = nexthref; // Goto the link calculated return false; }
// onload handler for <body> element, will register alllinks_click // on all link elements in document function alllinks() {
// Add handler to all links. for(var d = 0; d < document.links.length; d++) { document.links[d].onclick = alllinks_click; }
return false; }
I de enkelte sider skal du i <head> sektionen tilføje:
Umiddelbart ser det ud til at det virker, men du kan vel ikke lige forklare HVORFOR?!? Mit problem var at tidspunktet skulle tilføjes på klik tidspunkt og ikke på load tidspunkt. Du kalder en funktion på onLoad som så... Ja... jeg fatter det ikke...
Hvis du ser nærmere efter vil du opdage, at tidspunktet faktisk BLIVER tilføjet på klik-tidspunktet. Det der sker er, at onload handleren gennemløber alle links i dokumentet og tilføjer en onclick-handler (dette sker på load-tidspunktet). Når der klikkes, bliver onclick-handleren aktiveret og tilføjer tidspunktet (altså klik-tidspunktet).
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.