Avatar billede elskermad.dk Nybegynder
20. august 2006 - 13:26 Der er 17 kommentarer og
1 løsning

Reloade iframe

Hej Eksperter!

Hvordan reloader man en iframe uden at gengive samme adresse?

Fx kan man i en rigtig frame bruger location.reload(true) men det kan jeg ikke få til at virke på en iframe.

Jeg er lidt ked af at skulle angive en ny src, men er det eneste mulighed?

Min kode nu ser således ud:
document.getElementById('optaget').src = '/iframe/optaget.php?rum=1';

Den måtte gerne være:
document.getElementById('optaget').location.reload(true)

Men det virker ikke :S
Avatar billede mclemens Nybegynder
20. august 2006 - 13:28 #1
hvad med: window["iframensname"].location.reload(true);
Avatar billede elskermad.dk Nybegynder
20. august 2006 - 13:31 #2
Umiddelbart virker det ikke...

Har også forsøgt med window.frames["iframensname"].location.reload(true);
Avatar billede elskermad.dk Nybegynder
20. august 2006 - 13:31 #3
(der sker ingenting)
Avatar billede mclemens Nybegynder
20. august 2006 - 13:32 #4
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">

</style>

<script type="text/javascript">
window.onload=function(){refresher();};
function refresher(){
window["iframensname"].location.reload(true);
setTimeout("refresher();",379);
}
</script>

</head><body>
<iframe src="2.html" name="iframensname"></iframe>
</body></html>






<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">

</style>

<script type="text/javascript">
window.onload=function(){refresher();};
function refresher(){
window["iframensname"].location.reload(true);
setTimeout("refresher();",379);
}
</script>

</head><body>
<iframe src="2.html" name="iframensname"></iframe>
</body></html>
Avatar billede mclemens Nybegynder
20. august 2006 - 13:32 #5
den nederste er 2.html
Avatar billede mclemens Nybegynder
20. august 2006 - 13:33 #6
Glemmer du name på din iframe ?
Avatar billede mclemens Nybegynder
20. august 2006 - 13:34 #7
[ den nederste er 2.html ] Den smuttede 2.html er her:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>
</head><body>
<script type="text/javascript">
a=new Date();
document.write(a.getTime());
</script>
</body></html>
Avatar billede mclemens Nybegynder
20. august 2006 - 13:38 #8
Hvis det lægger på et andet domæne opfattes det som crosssite javascripting og giver fejl... eksempel:


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">

</style>

<script type="text/javascript">
window.onload=function(){refresher();};
function refresher(){
window["iframensname"].location.reload(true);
setTimeout("refresher();",3000);
}
</script>

</head><body>
<iframe src="http://www.tv2.dk" id="iframensname" name="iframensname"></iframe>
</body></html>
Avatar billede elskermad.dk Nybegynder
20. august 2006 - 14:00 #9
Min iframe ser således ud:
<iframe id='optaget' name='optaget' src='/iframe/optaget.php?rum=$rum' class='iframe'></iframe>

og scriptet som skal refreshe den befinder sig på samme side som iframen er, det er altså ikke iframen som skal sætte sig selv til at refreshe men hovedsiden...

kan ikke lige overskue dine koder? :S
Avatar billede elskermad.dk Nybegynder
20. august 2006 - 14:05 #10
Siden kan ses her: http://chat.alvision.dk/

Det er meningen at iframen 'optaget' skal sende oplysninger om hvilke pladser der er optaget tilbage til hovedsidens funktion optaget() som så farver felterne efter behov
Avatar billede elskermad.dk Nybegynder
20. august 2006 - 14:05 #11
jeg får en fejlkode som ikke rigtig giver mening: linie 1, tegn 1
Avatar billede elskermad.dk Nybegynder
20. august 2006 - 14:07 #12
firefox giver ingen fejlmeddelser men den opdatere ikke iframen
Avatar billede mclemens Nybegynder
20. august 2006 - 14:18 #13
[ kan ikke lige overskue dine koder? :S ] Skriver lidt tekst til dem...


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<script type="text/javascript">
window.onload=function(){refresher();}; // Onload af siden startes den der refresher iframen
function refresher(){
window["iframensname"].location.reload(true); // iframen med name="iframensname opdateres
setTimeout("refresher();",379); // opdateringsscriptet køres en gang for hver 379 ms.
}
</script>

</head><body>
<iframe src="2.html" name="iframensname"></iframe>
</body></html>



her er filen 2.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>
</head><body>
<script type="text/javascript">
a=new Date(); // sætter a til dato
document.write(a.getTime()); // skriver nuværende tid - ikke noget med opdateringen at gøre men for at man kan se at opdateringen foregår...
</script>
</body></html>





[ Siden kan ses her: http://chat.alvision.dk/ ] Er nok snart på vej ud, er tilbage i aften igen - men kigger lige hurtigt hvis jeg når det ...
Avatar billede mclemens Nybegynder
20. august 2006 - 14:24 #14
Har ikke testet men det med en funtion der hedder det
samme som din iframe's name og id det kan måske konflikte ?
Prøv at rette det du kalder optaget funktionen ...
Avatar billede mclemens Nybegynder
20. august 2006 - 14:57 #15
IE kan også have problemer med optaget her:
    function pladser(status) {
        optaget        = status.split(',');
... indsæt evt. var optaget; her:

<script language='javascript' type='text/javascript'>
var optaget;
    var placering        = 'd4';

... det med at IE opretter shortlinks til id og name's kan give ie problemer
med at håndtere en variabel tildeling... evt. kan du måske også bare:

    function pladser(status) {
        var optaget        = status.split(',');
Avatar billede mclemens Nybegynder
20. august 2006 - 14:58 #16
... Håber en af delene hjalp :o)
Avatar billede elskermad.dk Nybegynder
20. august 2006 - 15:06 #17
Det ser ud til at virke nu - Kan ikke lige sige hvilken del der var synderen, men jah - ser fornuftigt ud nu :)
Avatar billede mclemens Nybegynder
20. august 2006 - 16:57 #18
Ok, og tak for point :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester