[HTML] Terugverwijzen naar 2 parent iframes terug!

Pagina: 1
Acties:

  • Dark Wanderer
  • Registratie: September 2003
  • Laatst online: 11-08-2024
Hallo, ik zit met een probleem. Ik heb een pagina helemaal opgebouwd met iframes, en wel met de volgende opbouw:

index.php - normale frames 'main' en 'menu'
main.php - de pagina geladen in het frame 'main', deze pagina bevat de iframes 'links' en 'linksonder'
links.php - deze pagina geladen in het iframe 'links', deze pagina bevat de iframes 'bovenaan' en 'lijst'
linksonder.php - de pagina geladen in het iframe 'linksonder'
bovenaan.php - de pagina geladen in het iframe 'bovenaan'
lijst.php - de pagina geladen in het iframe 'lijst'

Nu wil ik vanuit het frame lijst met een javascriptje automatisch een andere pagina in frame linksonder laden:

code:
1
2
3
4
5
6
<SCRIPT LANGUAGE="JavaScript">
redirTime1 = "1";
redirURL1 = "ondermenu.php?show=expanded&bid=<?=$lijst['ID']?>";
function redirTimer1() { self.setTimeout("linksonder.location.href = redirURL1;",redirTime1); }
redirTimer1();
</script>


Maar ik krijg dat een fout op de pagina (je kent het wel, die melding van windows in de statusbalk), als ik erop klik, staat er dan linksonder niet gedefinieerd is.

Hoe kan dit ? Als ik het script vervang door <a href="ondermenu.php" target="linksonder">klik</a> en ik klik erop, dan werkt het wel!

[ Voor 13% gewijzigd door Dark Wanderer op 17-11-2005 15:58 ]

hand·te·ke·ning (de ~ (v.))


  • Rowanov
  • Registratie: Februari 2004
  • Niet online

Rowanov

Kop eens wat anders...

Je sluit niet af met een } in je functie. Verder is het niet handig om je pagina geheel uit iframes op te bouwen.

  • Dark Wanderer
  • Registratie: September 2003
  • Laatst online: 11-08-2024
Rowanov schreef op donderdag 17 november 2005 @ 16:15:
Je sluit niet af met een } in je functie. Verder is het niet handig om je pagina geheel uit iframes op te bouwen.
Ik zie toch echt een } aan het einde van regel 4 staan

hand·te·ke·ning (de ~ (v.))


  • Rowanov
  • Registratie: Februari 2004
  • Niet online

Rowanov

Kop eens wat anders...

Dark Wanderer schreef op donderdag 17 november 2005 @ 16:16:
Ik zie toch echt een } aan het einde van regel 4 staan
Scrollbalk op het code veld, nvm :X

Het is dus wel duidelijk dat het aan je functie ligt, maar debuggen moet je ook zelf kunnen.

  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 19-12-2025

wizzkizz

smile...tomorrow will be worse

ok, ga ik ook een gooi doen ;)

top.frames['links'].contentWindow.frames['lijst'].location.href = "link.html";

niet getest, ik weet niet op contentWindow ertussen moet, maar wat ik wel weet is dat jouw manier sowieso niet gaat werken en je de frames via de frames-collectie moet aanspreken.

Je zou het ook kunnen proberen om het frame met een ID aan te spreken, dus top.frames['lijst'].contentWindow.getElementById( "idVanIframeHiero" ).src = "link.html";

heb nu geen tijd om iets te testen, maar probeer het eens in die richting te zoeken.

[ Voor 8% gewijzigd door wizzkizz op 17-11-2005 17:32 ]

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.


  • Dark Wanderer
  • Registratie: September 2003
  • Laatst online: 11-08-2024
wizzkizz schreef op donderdag 17 november 2005 @ 17:32:
ok, ga ik ook een gooi doen ;)

top.frames['links'].contentWindow.frames['lijst'].location.href = "link.html";

niet getest, ik weet niet op contentWindow ertussen moet, maar wat ik wel weet is dat jouw manier sowieso niet gaat werken en je de frames via de frames-collectie moet aanspreken.

Je zou het ook kunnen proberen om het frame met een ID aan te spreken, dus top.frames['lijst'].contentWindow.getElementById( "idVanIframeHiero" ).src = "link.html";

heb nu geen tijd om iets te testen, maar probeer het eens in die richting te zoeken.
Dit werkt dus niet. Ik snap het niet, als ik een gewone html link maar met als target "linksonder" dan werkt het prima. Waarom werkt dit dan niet in een javascriptje of een onclick event

hand·te·ke·ning (de ~ (v.))


  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 19-12-2025

wizzkizz

smile...tomorrow will be worse

Dark Wanderer schreef op vrijdag 18 november 2005 @ 09:33:
Dit werkt dus niet. Ik snap het niet, als ik een gewone html link maar met als target "linksonder" dan werkt het prima. Waarom werkt dit dan niet in een javascriptje of een onclick event
Omdat javascript anders werkt dan het target attribuut. Het target-attribuut kijkt of er een frame is met de betreffende naam en opent dan de pagina erin en anders in een leeg venster.

Bij javascript moet je, als je het op deze manier wil doen, je frame correct refereren. En soms is dat lastig als je, net als bij jou, een ingewikkelde structuur hebt en ook niet veel kaas hebt gegeten van javascript (nofi). Als je een beetje ervaring met javascript hebt, is het meestal (evt. met wat documentatie of googlewerk) niet zo moeilijk meer.
Heb je al gezocht hoe je frames moet refereren? (voorzetje)

Ik snap trouwens sowieso niet waarom je zo ontiegelijk ingewikkeld doet met frames, terwijl het verschijnel frames imho eigenlijk alleen in webapplicaties thuis hoort en niet in een gewone website (geen flauw idee wat je aan het maken bent, just my 2 cents). Ik ga daar hier niet over discuzeuren trouwens, daar zijn genoeg topics over geweest.
Maar als je zoveel frames/iframes gebruikt, moet je daar wel een hele goede reden voor hebben lijkt me :?

[ Voor 13% gewijzigd door wizzkizz op 18-11-2005 12:11 ]

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.


  • Dark Wanderer
  • Registratie: September 2003
  • Laatst online: 11-08-2024
Ik zal even uitleggen wat ik aan het bouwen ben. Het is inderdaad een webapplicatie, namelijk een contactendatabase op het intranet van een bedrijf. Ik heb een rare framesopbouw omdat ik bepaalde dingen boveaan de pagina wil houden (zoals beginletters van achternamen waar je op kunt klikken zodat je naar die letter springt, en dat soort dingen), en anders kom ik er echt niet goed mee uit.

Ik heb mijn opbouw net even iets anders gemaakt, namelijk zonder iframes in iframes, en nu werkt het prima met het onclick gebeuren

Ik neem nog wel even een kijkje naar jouw voorzetje, want bijleren kan geen kwaad!

Groeten en bedankt

hand·te·ke·ning (de ~ (v.))


  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 19-12-2025

wizzkizz

smile...tomorrow will be worse

voor webapplicaties kan (vergeef me het modewoord) ajax erg nuttig zijn, ondermeer voor het voorbeeld dat jij aangaf. Die informatie kun je dan op de achtergrond ophalen en met javascript parsen en tonen.

Ik gebruikt het zelf ook in een webapplicatie en hoewel het wel enig manouvreren vereist om het werken de krijgen in de grote browsers, is het resultaat toch een aangename user interface.

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.

Pagina: 1