RELOAD-SCRIPT + URL-ARRAY
questionsmark
- javascript
0 Jörg Peschke0 Tommy0 questionsmark0 Tommy
Hallo Leutz,
ich benötige ein script, bestehend aus einem Reload-script und einem array mit einer reihenfolge von links.
Das Script soll so ablaufen, das nach einer bestimmten zeit, eine (die erste) url aus dem array geladen werden soll. nach ablauf der zeit, soll die zweite geladen werden and so on....
das reloadscript läuft soweit schon (s.o.)... bitte drum um hilfe es mit dem o.g. array zu erweitern.
Thx 8)
Moin,
Das Script soll so ablaufen, das nach einer bestimmten zeit, eine (die erste) url aus dem array geladen werden soll. nach ablauf der zeit, soll die zweite geladen werden and so on....
Wie stellst Du dir das vor? In dem Moment, wo du den ersten Link lädst, bist du weg von der seite, damit auch weg von deinem Skript und damit kann auch nichts mehr neu geladen werden, weil Deine Funktion für den Reload gar nicht mehr aufgerufen wird.
Gruesse,
Joerg
Das ist im Prinip einfach:
bau ne Frameseite (oder ein unsichtbares JS-Fenster, Position X-100 Y-100) und schreibe dort dein Array mit der Reloadgeschichte rein. Auch ein I-Frame taugt dafür.
Aber in einer einzigen Seite wirds schwer werden (weil die Seite spätestens beim ersten Aufruf weg ist!), außer du holst dir ein externes JS ("src=srcipt.js") rein und übergibst via URL immer den "aktuellen" Stand des Arraydurchlaufs. Auch hier gibt es wiederum zwei Möglichkeiten: entweder du hängst ne Variable an z.B. url.html?array_nr=10 oder du frägst die URL direkt ab und vergleichst die URL mit den Werten im Array....
Für was brauchst Du denn solch ein Script? Mach das ganze mal etwas konkreter....
hi,
hab die das script schonmal mit dem iframe erweitern:
http://opelmanni.piranho.com/Test/reload_js.html
nur hab ich wie gesagt k.a., wie die syntax des arrays aussehen soll :((.
ich hatte mal an nem arry gebastelt (auch mit hilfe aus dem forum hier), welches eine reihenfolge von countdown-zeiten enthält .. hier sollte es so ablaufen, das nach jeden reload eine andere zeit (aus dem array) für die nächsten reload genommen werden sollte... funzte dann auch nach zig versuchen ;), hier mal diese syntax:
########################################################################
<script language="Javascript">
<!--
var countdowns = new Array(1588,1587,1598,1604,1610,1595,1592,1590,1599,1593,1580);
var countdown = countdowns[Math.round((countdowns.length-1)*Math.random())];
function doCount()
{
if (countdown > 0){
countdown--
}
else{
location.reload();
}
var s = countdown;
var h = Math.floor(s/3600);
var m = Math.floor((s - (h * 3600))/60);
s = (s-(h*3600))%60
window.document.title=h+":"+m+":"+s+ " bis zum nächsten Reload"
window.setTimeout('doCount()',1000)
}
doCount();
//-->
#########################################################################
könnte man damit, bzgl. meinem gewünschten array was frickeln ? :|.
Das Script soll für ne Werbeplattform genutzt werden.
########################################################################
<script language="Javascript">
<!--var countdowns = new Array(1588,1587,1598,1604,1610,1595,1592,1590,1599,1593,1580);
var countdown = countdowns[Math.round((countdowns.length-1)*Math.random())];function doCount()
{
if (countdown > 0){
countdown--
}
else{
location.reload();
}var s = countdown;
var h = Math.floor(s/3600);
var m = Math.floor((s - (h * 3600))/60);
s = (s-(h*3600))%60window.document.title=h+":"+m+":"+s+ " bis zum nächsten Reload"
window.setTimeout('doCount()',1000)
}doCount();
//-->
#########################################################################
Jop. Anstelle location.reload(); schreibst du
deinFrame.href="http://www.google.de";
bzw.
var mein_array=new Array("http//:www.google.de","http://www.2.seite.de","3.seite.html");
deinFrame.href=mein_array[i];
i=i+i; //oder i++;
wobei i ein zähler ist, den Du bei jedem Aufruf der neuen Seite um 1 hochzählst....
Ist nicht getetstet, aber vom prinzip her....
hmm...
hab das script nach deinen vorgaben verändert... hoffe ich hab dich da richtig verstanden :))
#################
<html>
<head>
<title>Reload + URL Array Test</title>
<script language="Javascript">
<!--
var mein_array = new Array("http://www.google.de","http://www.lycos.de");
deinFrame.href = mein_array[i];
i=i+i;
var countdown = 20;
function doCount()
{
if (countdown > 0){
countdown--
}
else{
deinFrame.href="http://www.google.de";
}
var s = countdown;
var h = Math.floor(s/3600);
var m = Math.floor((s - (h * 3600))/60);
s = (s-(h*3600))%60
window.document.title=h+":"+m+":"+s+ " bis zum nächsten Reload"
window.setTimeout('doCount()',1000)
}
doCount();
//-->
</script>
</head>
<body>
<b>Reload + URL Array Script</b><p>
<iframe src="http://www.google.de" width="100%" height="800"></iframe>
</body>
</html>
#################
wie vorgegeben: -> location.reload(); <- mit -> deinFrame.href="http://www.google.de"; <- ersetzt, und das alte array mit dem reloadzeiten, mit dem link-array ersetzt.
Das Testscript hier: http://opelmanni.piranho.com/Test/Reload_Linkarray_Test.html
leider läuft jetzt gar kein Countdown mehr im titel... ausserdem: wie weis das iframe, das es nun quasi eine dym. source haben soll?
Thx :)
ups,
wegen der "dynamischen" quelle des iframes is mir grad nen kleiner gedankenblitz gekommen ;)): ich kann ja das attribut 'name="deinFrame"' im iframe-tag setzen.. sry...
gut.. syntax sieht nun so aus (mit einer statischen reload-time):
###############
<html>
<head>
<title>Reload + URL Array Test</title>
<script language="Javascript">
<!--
var countdown = 20;
function doCount()
{
if (countdown > 0){
countdown--
}
else{
var mein_array = new Array("http://www.google.de","http://www.lycos.de");
deinFrame.href = mein_array[i];
i++;
}
var s = countdown;
var h = Math.floor(s/3600);
var m = Math.floor((s - (h * 3600))/60);
s = (s-(h*3600))%60
window.document.title=h+":"+m+":"+s+ " bis zum nächsten Reload"
window.setTimeout('doCount()',1000)
}
doCount();
//-->
</script>
</head>
<body>
<b>Reload + URL Array Script</b><p>
<iframe name="deinFrame" width="99%" height="99%"></iframe>
</body>
</html>
###############
zumindest läuft der countdown wieder im title, aber es passiert leider nix mehr wenn der countdown auf 0 ist :/
Test-Script hier: http://opelmanni.piranho.com/Test/Reload_Linkarray_Test.html
____________________
als ich dann das array ganz am anfang vom js gesetzt hab, und in der funktion wieder deinFrame.href="http://www.google.de" geschrieben, war auch kein countdown mehr im titel
Dieses script ist das hier:
http://opelmanni.piranho.com/Test/Reload_Linkarray_Test_2.html