Der Martin: Links in Array zeitverzögert anklicken

Beitrag lesen

Hallo,

Ich möchte in einem Array aus Links jeden Link zeitverzögert anklicken, sprich: die click()-Funktion ausführen.

ist dir klar, dass -wenn das funktioniert- damit eine neue Seite geladen wird und dein Script sozusagen in vollem Galopp erlegt wird?

var allLinks = document.getElementsByTagName("a");

Das ist unnötig kompliziert; dein Browser stellt mit document.links bereits eine Collection der im Dokument vorkommenden Links zur Verfügung.

for (i = 0; i < allLinks.length; i++) {

//Anklicken
}


>   
> An der Stelle von Anklicken habe ich diverse Codes probiert, aber keiner funzt.  
  
Probieren ist auch nicht unbedingt eine zielführende Strategie.  
  

> `setTimeout("allLinksEmail[" + i + "].click()", 5000 * i);`{:.language-javascript}  
  
Das ist aber nicht schön. Zwar kann setTimeout() auch mit einem String umgehen, eigentlich sollte man ihm aber eine Funktion bzw. eine Funktionsreferenz geben:  
  
`setTimeout(function(){ document.links[i].click(); }, 5000 * i);`{:.language-javascript}  
  

> Aber irgendwann hörte dieser Code unerklärlicherweise auf zu funktionieren (allLinksEmail ist not defined).  
  
Na klar, nämlich sobald der Browser den ersten simulierten Klick bearbeitet und als Reaktion ein neues Dokument lädt. Was erwartest du sonst?  
  
Noch viel interessanter finde ich aber die Frage: Was willst du damit eigentlich erreichen?  
  
So long,  
 Martin  

-- 
Ungeschehene Ereignisse können einen katastrophalen Mangel an Folgen nach sich ziehen.  
  (Unbekannter Politiker)  
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(