[Javascript] Pagina wijzigen in een frameset

Pagina: 1
Acties:

  • Arnim
  • Registratie: Juni 2001
  • Laatst online: 04-09 15:49
Ik heb een probleem en ik hoop dat jullie me kunnen helpen.
Ik wil vanuit een index.html een nieuwe pagina openen. Deze pagina bevat een frameset. In deze frameset staan drie frames, waarvan er een een pagina moet gaan bevatten die kan varieren. Welke pagina in dit frame geladen wordt wil ik met in een variabele meesturen met GET of POST, dus:
code:
1
2
3
4
5
6
7
<FRAMESET COLS='227,*'>
    <FRAME SRC='side.html' NAME='menuframe'>
    <FRAMESET ROWS='120,*'>
      <FRAME SRC='top.html' NAME='topframe'>
      <FRAME SRC=[VARIABEL] NAME="mainframe">
    </FRAMESET>
</FRAMESET>

Nu wilde ik dat oplossen met een document.write, maar dat kan niet, omdat deze pagina geen BODY-tag bevat, dus ook geen document object.

Toen dacht ik, ik doe zoiets als:
code:
1
top.frames['mainframe'].location.href = "attractie.html";

maar dat blijkt ook niet te werken. Iemand een idee?

Team ColdFusion


Verwijderd

Heb je de beschikking over PHP?

Verwijderd

Op vrijdag 28 september 2001 11:45 schreef Arnim het volgende:
Nu wilde ik dat oplossen met een document.write, maar dat kan niet, omdat deze pagina geen BODY-tag bevat, dus ook geen document object.

Toen dacht ik, ik doe zoiets als:
code:
1
top.frames['mainframe'].location.href = "attractie.html";

maar dat blijkt ook niet te werken. Iemand een idee?
Kan je dan niet verwijzen naar een niet variabele pagina, maar na een bestand waarin je wel een BODY hebt en daar wat JS trucjes uit haalt om een andere pagina in dat frame te laden?

  • Arnim
  • Registratie: Juni 2001
  • Laatst online: 04-09 15:49
Nee, de site draait bij UUNET, dus die enorme luxe hebben we niet :(

Team ColdFusion


  • Arnim
  • Registratie: Juni 2001
  • Laatst online: 04-09 15:49
Op vrijdag 28 september 2001 11:51 schreef fruit.Mics het volgende:

[..]

Kan je dan niet verwijzen naar een niet variabele pagina, maar na een bestand waarin je wel een BODY hebt en daar wat JS trucjes uit haalt om een andere pagina in dat frame te laden?
Dat wordt erg lastig onderhouden, dan kan ik denk ik nog beter 10 verschillende files met framesets aanmaken.

Team ColdFusion


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 21-09 17:53

RM-rf

1 2 3 4 5 7 6 8 9

Op vrijdag 28 september 2001 11:45 schreef Arnim het volgende:
Nu wilde ik dat oplossen met een document.write, maar dat kan niet, omdat deze pagina geen BODY-tag bevat, dus ook geen document object.
mar is dat waar?
misschien heeft iedere pagina wel een Document-object, ook zonder BODY tag.

probeer gewoon eens een document.write(), misschien werkt hij gewoon wel ;)

je andere optie lijkt me wel goed, enkel is het de vraag waar je hem aanroept, immers moet de frameset al geladen zijn en is het beter hem onload aan te roepen

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Arnim
  • Registratie: Juni 2001
  • Laatst online: 04-09 15:49
Op vrijdag 28 september 2001 11:56 schreef RM-rf het volgende:

[..]

mar is dat waar?
misschien heeft iedere pagina wel een Document-object, ook zonder BODY tag.

probeer gewoon eens een document.write(), misschien werkt hij gewoon wel ;)
Heb ik inderdaad wel geprobeerd, maar het werkt niet. De Netscape javascript handleiding vertelde me dat daar een body tag voor nodig was; dat wist ik zelf ook niet.
je andere optie lijkt me wel goed, enkel is het de vraag waar je hem aanroept, immers moet de frameset al geladen zijn en is het beter hem onload aan te roepen
Ik denk dat dit inderdaad het probleem is. Op dit moment voer ik het javascript uit nadat ik de frameset al heb aangemaakt (dus direct na de </FRAMESET> tag). Iemand een idee, vanaf welk moment dat mag?

Nieuw idee: Is het misschien mogelijk om rechtstreeks vanuit het javascript de frameset volledig aan te maken???

Team ColdFusion


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 21-09 17:53

RM-rf

1 2 3 4 5 7 6 8 9

Op vrijdag 28 september 2001 12:12 schreef Arnim het volgende:

Heb ik inderdaad wel geprobeerd, maar het werkt niet. De Netscape javascript handleiding vertelde me dat daar een body tag voor nodig was; dat wist ik zelf ook niet.
welke netscape handleiding, kan me enkel dat witte boekje herinneren dat met navigator 2 kwam, en waarin de basics javascript objects stonden (wel handig ding)

ik twijfel er nog steeds aan, vooral omdat ik genoeg voorbeelden kan vinden, bv.:
http://faughnan.com/snippets/dynaframe.html

misschien moet je gewoon de body in de noframes definieren
Ik denk dat dit inderdaad het probleem is. Op dit moment voer ik het javascript uit nadat ik de frameset al heb aangemaakt (dus direct na de </FRAMESET> tag). Iemand een idee, vanaf welk moment dat mag?
probeer eens een onLoad="this.SRC='blaat.html'"
of iets anders met de onLoad, wel een default leeg.html als SRC opgeven

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Tsjipmanz
  • Registratie: Oktober 2000
  • Laatst online: 13-05 14:52

Tsjipmanz

Der Rudi ist da

Allemaal heel erg vervelend, javascripts in frames enzo.

Mij is iets dergelijks een keer gelukt met:
code:
1
 <frameset rows="50,*,20" framespacing="0" frameborder="0" onLoad="var loc; loc=('bla/blaat.html' + document.location.search);midframe.location=loc">

In document.location.search stond dan een URL-variabele. Met een beetje ombouwen moet je dit toch wel kunnen gebruiken (had geen zin om t zelf nog te veranderen :) )

There's no such thing as a mistake, just happy accidents - Bob Ross
Relaxte muziek: altijd okee!
- Soulseek rulez -


  • Arnim
  • Registratie: Juni 2001
  • Laatst online: 04-09 15:49
Ik ben eruit. Als je de hele frameset in javascript document.writeln-ed dan mag het wel, zodra hij de tag <FRAMESET> is tegengekomen voert hij geen javascript meer uit.
Bedank voor jullie hulp!

Team ColdFusion

Pagina: 1