layout refrechen in IE

Status
Niet open voor verdere reacties.

jmeulink

Gebruiker
Lid geworden
20 mrt 2010
Berichten
22
goeden dag, ik ben bezig met een site,
maar wil de site refrechen
ik heb dit gedaan:

[JS]<script language="javascript">
setTimeout("location.reload()",30000);
</script> [/JS]

en dat werkt goed in firefox maar niet in
internet explore

ik gebruik frames en in firefox refresd die alleen het layout
maar in IE ook de frame dus als je bijvoorbeeld een bericht zit te typen
word je na 30 seconden naar de home.php pagina gestuurd (home.php is de standaard pagina van de frame)

welke stuk code heb ik nodig om dit ook zo te krijgen in IE (en eventueel in andere browsers)
 
je moet dat zorgen dat je aangeeft dat je alleen het frame wilt reloaden.

ohja, en het is zoiets:
HTML:
<script type='text/javascript'>

   setTimeout(window._framenaam_.location.reload, 30000);

</script>
want setTimeout eet een functie, niet een string.
 
de frame moet juist NIET gerefrechsd worden alleen het layout daar gaat het om,
want nu als je een bericht stuur naar een andere lid en je doet er langer dan 30 seconden over word je naar home.php gestuurd in IE

dat is heel vervelend want dan moet je helemaal opnieuw beginnen met het bericht, de bedoel is dat de layout word gerefresd want daar staat hoeveel nieuwe berichten je heb en nog andere statussen

EDIT: in firefox reload de frame ook maar hij springt niet naar home.php dus dat is goed, alleen als je op een pagina komt met radio buttons of invul vakken word de radio buttons weer naar standaard waarde gebracht en de invul vakken worden leeg gemaakt

hoe kan ik er voor zorgen dat alleen de layout reload word? en NIET de frame, dus dat je op de zelfde script blijft waar je was (in firefox doet ie dat) en dat de invul vakken enzo allemaal hetzelfde blijft



De bedoeling is eigenlijk
dat alleen de layout word reload en mainFrame niet (mainFrame heet de frame DIE NIET opnieuw mag laden)
 
Laatst bewerkt:
Hoi jmeulink,
de bedoeling is dat de layout word gerefreshed want daar staat hoeveel nieuwe berichten je heb en nog andere statussen.
Daaruit maak ik op dat het niet alleen layout is, maar ook teksten e.d. die moeten veranderen. Qua opmaak van de hele pagina zal dat ergens in een omliggend deel naast het MainFrame voor het intikken zitten.

Ik weet niet of dat omliggend deel (dat juist wel moet refreshen) bij jou ook in een frame zit.
  1. Zo ja, meteen door naar punt 2. - Zo nee, dan zou je het te updaten deel ook in een eigen frame moeten zetten. *)
  2. Je laat wel refreshen: maar niet de totaalpagina, alleen wat in het "frame van update" zit. Dan ga je naar de te updaten pagina die in dat frame zit, en geef je die pagina zelf de refresh-opdracht.
Zo zou het dacht ik moeten lukken, want dan is de refresh compleet onafhankelijk van het MainFrame waarin het tikwerk gebeurt.

Met vriendelijke groet,
CSShunter
_______________
*) Als het MainFrame ingebouwd zit in het midden van de rest, zal je misschien de omgeving moeten opsplitsen in verschillende partjes voor de delen die "updatebaar" moeten zijn > die krijgen dan allemaal een apart frame'pje (en een framepagina met refresh er in).
 
nee de rechter menu zit niet in een frame, ik ben ook niet erg goed met frames (een maat heb de layout gemaakt maar hij is op vakantie) ik ben eerder voor de dingen met PHP en MySQL
 
Hoi jmeulink,
frames ... ik ben eerder voor de dingen met PHP
Jah! :thumb: Frames suck! :D

Ik werk zelf ook nooit never met frames.
Maar ja, met een maat op vakantie en waarschijnlijk geen trek in een acute php make-over van de gehele site, zal je het nog even met die vermaledijde frames moeten doen. ;)

Nu zal het waarschijnlijk lastig zijn om de totale frameset van de site om te gooien, maar met een <iframe> op de plek van het te updaten gedeelte kan het ook.
Je moet het maar zien als een php-include. Alleen is een ingesloten iframe geen html-fragment, maar een eigen pagina met kop en body.
  • Dus als je het in te sluiten deel lospulkt uit de html, en voorziet van een <head> en een <body> waar allleen die html van dat deel in staat, dan ben je er.
  • In principe kan voor die framespagina hetzelfde stylesheet gebruikt worden als van de pagina van herkomst.
  • Slechts een paar kleine aanvullende/aanpassende styles zullen nodig zijn om het goed te krijgen (bv. de breedte van het origineel moet losgelaten worden, anders past ie niet in het iframe). Maar dat wijst zichzelf, denk ik.
Kortom, voordat ik dit allemaal durf te beweren (mij midden in de nacht wakker maken om dromend een forse frame-site uit de mouw te schudden, is er bij mij ook niet bij), heb ik een experiment gepleegd.
En ja, het kan! :)
  • Aanmaken i-frame, deel a: http://bliksekaters.nl/tests/aanmaken-iframe-a.php.
    Als het goed is, zou deze pagina min of meer vergelijkbaar moeten zijn met wat nu de (frameset)pagina is waarin het mis gaat.
  • Aanmaken i-frame, deel b: http://bliksekaters.nl/tests/aanmaken-iframe-b.php.
    Dat is een pagina waarin ik de geïsoleerde te refreshen <div> heb omgebakken tot een framepagina http://bliksekaters.nl/tests/aanmaken-iframe-c.php. De inhoud van die pagina kan nu op die pagina zelfstandig ververst worden, zonder de verversingsgraad van de hoofdpagina te beïnvloeden.
  • In plaats van het regeltje <? php include ...> komt er nu een regeltje <iframe src="..."> in de hoofdpagina, en klaar is kees.
  • Zie verder de broncodes, waarin ook de werkende vorm van het javascript voor de refresh-periode.
.
Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan