elke min een andere pagina in frame

Status
Niet open voor verdere reacties.

bisopn

Gebruiker
Lid geworden
23 feb 2008
Berichten
647
ik heb dit script gevonden op leejoo...

HTML:
<center>
<script language="JavaScript1.2">
var ie=document.all&&navigator.userAgent.indexOf("Opera")==-1
var dom=document.getElementById&&navigator.userAgent.indexOf("Opera")==-1

//Hieronder kun je de weergave van het frame wijzigen.. zoals hoogte, breedte, etc...
var iframeprops='width=240 height=120 marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="1" scrolling="no"'

//Hieronder vul je de namen in van de pagina's die respectievelijk op iedere dag getoond moeten worden. 
var daycontent=new Array()
daycontent[1]="maandag.htm"
daycontent[2]="dinsdag.htm"
daycontent[3]="woensdag.htm"
daycontent[4]="donderdag.htm"
daycontent[5]="vrijdag.htm"
daycontent[6]="zaterdag.htm"
daycontent[0]="zondag.htm"

if (ie||dom)
document.write('<iframe id="test" src="" '+iframeprops+'></iframe>')

var datum=new Date()
var mytoday=datum.getDay()

function dagvdweek_iframe(){
if (ie||dom){
var iframeobj=document.getElementById? document.getElementById("test") : document.all.test
iframeobj.src=daycontent[mytoday]}}

window.onload=dagvdweek_iframe
</script>


maar ik ben opzoek naar een script die elke min of (opgegeven seconden) een andere pagina opent.
niet met een refresh, maar gewoon als ik zelf op F5 zou drukken dat ik een andere framepagina krijg. en meer url-'s erbij kan toevoegen.
 
Gebruik een functie die, gebaseerd op een bepaald interval, een element van een array teruggeeft.
[JS]var Settings = {
INTERVAL: 60 * 1000 //een minuut, in milliseconden
};

function getTimeBasedUrl(urls) {
var ms = new Date().getTime();
return urls[Math.floor(ms / Settings.INTERVAL) % urls.length];
}[/JS]

Als je nu deze functie aanroept met de daycontent-array uit je script, krijg je iedere minuut een andere url terug ;)
[JS]var url = getTimeBasedUrl(daycontent);[/JS]
 
Zou ook het geheele script er bij gezet kunnen worden... ik kom er niet uit... waar ik dit in moet plaatsen van het script hierboven.

en waar kan ik dan de url's toevoegen?
 
Ik moet zeggen dat het script dat je gevonden hebt behoorlijk verouderd is. Eigenlijk is het netter om, als het even kan, helemaal geen iframes/browser detection/document.write te gebruiken ;) Maar goed, dit zou de aangepaste versie dan worden:
[JS]var Settings = {
INTERVAL: 60 * 1000 //een minuut, in milliseconden
};
var ie=document.all&&navigator.userAgent.indexOf("Opera")==-1
var dom=document.getElementById&&navigator.userAgent.indexOf("Opera")==-1

//Hieronder kun je de weergave van het frame wijzigen.. zoals hoogte, breedte, etc...
var iframeprops='width=240 height=120 marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="1" scrolling="no"'

//Hieronder vul je de namen in van de pagina's die respectievelijk op iedere dag getoond moeten worden.
var daycontent=new Array()
daycontent[1]="maandag.htm"
daycontent[2]="dinsdag.htm"
daycontent[3]="woensdag.htm"
daycontent[4]="donderdag.htm"
daycontent[5]="vrijdag.htm"
daycontent[6]="zaterdag.htm"
daycontent[0]="zondag.htm"

if (ie||dom)
document.write('<iframe id="test" src="" '+iframeprops+'></iframe>')

function getTimeBasedUrl(urls) {
var ms = new Date().getTime();
return urls[Math.floor(ms / Settings.INTERVAL) % urls.length];
}
function dagvdweek_iframe(){
if (ie||dom){
var iframeobj=document.getElementById? document.getElementById("test") : document.all.test;
iframeobj.src = getTimeBasedUrl(daycontent);
}
}

window.onload = dagvdweek_iframe;[/JS]
 
Laatst bewerkt:
DAT WERKT NIET !!!!

de mijne werkt wel.

MAAAR WAAR MOET IK DAT EERSTE SCRIPT TOEVOEGEN...
IK KRIJG ALLEEN MAAR FOUTEN!

Kom eens met een geheel script aan AUB.
 
DAT WERKT NIET !!!!

de mijne werkt wel.
Soms werkt de cache van je browser je tegen. Je kunt dan refreshen wat je wil, maar je browser presenteert toch een oud script :P Als je je browser instelt om geen pagina's te cachen heb je dat probleem niet ;)
 
Wat moet die arme Opera hier wel niet van denken? :P
Proefje:
[JS]var ie=document.all&&navigator.userAgent.indexOf("Opera")==-1;
var dom=document.getElementById&&navigator.userAgent.indexOf("Opera")==-1;

if (ie||dom){
document.write('Ik ben IE of dom \(beide kan natuurlijk ook :-\) \)');
}
else {
document.write('Ik ben niet IE en ook niet dom');
}[/JS]
Ra-ra, wat zou er gebeuren? Test!

Maar de leejoo-scripts munten niet uit in bijdetijdsheid *): zelfs de inmiddels compleet afgeschreven IE6 ondersteunde al "getElementById", en de hele browsersnifferij is nergens voor nodig.
Krijgt Opera ook een mooi iframe'pje. :)

Met vriendelijke groet,
CSShunter
________________
*) Even opgezocht in ons aller WayBackMachine: het huidige leejoo-script (incl. de <center>-tag **) ipv fatsoenlijke css. en de language="JavaScript1.2" ipv type="text/javascript") is sinds 7 maart 2004 ongewijzigd. :rolleyes:

**) Laat de handtekening van Naarling het maar niet horen. ;)
 
????????????????????????????????????????????????????????????????????????????????????????????????????'
???????????????????????????????????????????????????????????????????????????????????????????????????/
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan