nou als ik het goed begrijp heb ik dit 1 keer gedaan. Het is vrij eenvoudig, maar tenzij je dit absoluut nodig hebt raad ik het ten zeerste af. De standaard 'back' functionaliteit van elke browser gaat er immers danig van op z'n plaat. Nu kan het zo zijn dat het wel normaal blijft werken als je met een FRAME werkt ipv IFRAME, maar dat heb ik nooit meer getest (ben wel benieuwd naar). Het was leuk om te zien dat het werkt, maar het is gewoon een bitch om bug-vrij en cross-browser te krijgen. Ik neem aan dat Netscape4 je een worst is.
Je maakt in je pagina een frameset met minstens 1 onzichtbaar frame, of je mikt gewoon ergens een onzichtbaar iframe neer. Met een JS functie op je 'hoofdpagina' refresh je het onzichtbare (i)frame naar een serverscript (PHP bijvoorbeeld) die als GET argument de url van de gewenste site heeft (geturl.php?url=www.bla.nl). [het volgende stuk verzin ik ter plekke, ik had het zelf niet nodig]
In geval van PHP doe je [pseudo] $fp = fopen($url) en je trekt de pagina binnen met fread($fp) naar een string $htmldata[/pseudo].
[/het volgende stuk verzin ik ter plekke, ik had het zelf niet nodig]
In plaats van de html data gewoon te printen in het frame, genereer je een javascript met [pseudo] echo "var html = /"".$htmldata."/";";[/pseudo]. Onderaan dit script plaats je weer een call naar de hoofdpagina waarmee je de variable html doorsluist naar het hoofdframe, alwaar je ermee kunt gaan spelen. De reden waarom we niet vanuit de hoofdpagina shit ophalen uit het onzichtbare frame maar juist andersom, is omdat ik niet wist hoe ik vanuit de hoofdpagina moest bepalen of en wanneer de onzichtbare pagina klaar is met laden.
Wat ik destijds ook nog deed, was alle binnengetrokken html in javascript bewaren , zodat bij een hernieuwde opvraag het spul niet meer geladen hoeft te worden en alles dus retesnel wordt
Dit alles werkt op IE5.0 en hoger (IE4 not tested) op MacIE5.0 en hoger en op Netscape 6.0 of 6.1 (kweeniemeer) en hoger. Misschien zijn er wel andere methoden maar het werkt. Een soortgelijke functionaliteit heb ik ook een met XML-RPC voor elkaar gekregen.
Nog een innerHTML tip: om MacIE5.0 er geen zooi van te laten maken, moet je bij iets.innerHTML = mijnhtmlstring; altijd dit doen: iets.innerHTML = "\n" + mijnhtmlstring + "\n"; 't is maar dat je het weet
Ik ga ff voor je zoeken naar een scriptje waarmee je MySQL queries kunt uitvoeren (zooi uit een database binnenhalen) zonder je pagina te hoeven herladen.
[
Voor 0% gewijzigd door
Genoil op 07-08-2002 22:48
. Reden: bugje in codesniplet ]