frames(et) en links

ben een leek m.b.t. website-ontwerp, misschien weten jullie raad:

mijn homepage is opgebouwd uit 4 frames (horizontaal)
1e is de kop/titel
2e is de inhoud, daarin een aantal knoppen als hyperlinks voor de subpagina’s
3e is de kop van een subpagina, daarin ook knoppen als hyperlinks
4e is de werkpagina

de eerste drie heb ik de scrolling uitgezet, ik wil nl. graag dat ze over de volle breedte te zien zijn

probleem is nu: als ik in het 2e frame een subpagina kies bouwt hij vervolgens alleen dat frame opnieuw op, en niet de 3e en 4e (die heb ik uiteraard wel aangegeven in desbetreffende bestand)

heb het nu omzeild door bij de links in het 2e frame de gehele pagina opnieuw te laten opbouwen, maar ik wil het graag zonder de kop opnieuw op te bouwen.

iemand een idee wat ik fout doe?

Tip 1 is: zet 'm ergens online dan kunnen we je er met de code bij de hand mee helpen. Anders wordt het wat lastig te zien wat je wel en niet gedaan hebt.

> deskman: zie "homepage"

Als je op een specifieke link drukt word er inderdaad 1 frame aangestuurd. Nu kun je ook met allerlei ingewikkelde scrips aan de gang, maar het kan ook anders. Dat ene frame wat aan gestuurd word, kan namelijk ook bestaan uit meerdere frames. Dus: met een druk op de knop stuur je dus 1 'overall' frame aan, en dat frame kan uit drie aparte frames bestaan.

Ik heb zelf ook zoiets gedaan met mijn website. Kijk maar eens op:
http://www.desolated.nl/index2.html

Als je links in het menu een willekeurige knop indrukt verandert er maar 1 frame, genaamd right.html, maar dat frame is een koppeling tussen het middenframe en het rechterframe.

Ik hoop dat je hier wat aan hebt, en anders zul je toch op zoek moeten gaan naar een leuk PHP scriptje… daar lukt het ook mee…

Succes!

>MadSven:

ja, precies, dat had ik dus eerst geprobeerd: een link stuurt meerdere frames aan. Maar dan blijft 'ie dus ‘hangen’ bij het 2e frame
dus: in het 2e frame staan de hoofdlinks… zodra je er 1 kiest (is er nu nog maar 1 - “us affairs”) wordt een bestand gekozen dat frames 2, 3 en 4 opnieuw opbouwt, hij komt echter niet verder dan frame 2 ;-(

mmmm... da's gek Als ik precies doe wat jij hierboven beschrijft, dan werkt het gewoon keurig. De onderste 3 frames veranderen gewoon mee....

>MadSven:

misschien heeft het te maken met het frameset in frameset dat je gebruikt, ik heb in mijn index-html 1 frameset aangegeven… ?

btw: staat een komma niet goed bij je <noframes>, maar of er nog veel mensen zijn die een browser gebruiken dat geen frames aankan? :wink:

Het zou inderdaad zomaar kunnen dat het frameset in frameset er mee te maken heeft. Ik ben ook geen expert, meer een hobby-ist.... Ik zal vanavond eens een boekie openslaan over dit onderwerp, en mocht ik iets tegenkomen dan zie je mijn reactie wel weer....

En ik zal ff die lelijke komma weghalen… Thanx!

hier nog even de code waar het om gaat:

index.html: (voor de eerste 2 frames)
“<frameset rows=“40,18,*” framespacing=“0” border=“0” frameborder=“0”>
<frame name=“kop” noresize scrolling=“no” src=“head.html”>
<frame name=“mainframe” noresize scrolling=“no” src=“inhoud.html”>
<frame name=“welcome” noresize src=“home.html”>
</frameset>”

home.html: (toont vervolgens frame 3 en 4)
“<frameset rows=“21,*” framespacing=“0” border=“0” frameborder=“0”>
<frame name=“kop” noresize scrolling=“no” src=“sub_welcome.html”>
<frame name=“welkom” src=“welcome.html”>
</frameset>”

dit heb ik bewust zo gedaan omdat ik de eerste 3 frames over volle schermbreedte wil tonen en frame 4 (de werkpagina) niet.

het lijkt me niet al te moeilijk, maar ik doe toch iets niet goed :?

Misschien zou je dit kunnen proberen:

Het eerste wat je nodig hebt voor dit script is een frameset met 2 frames, zoiets als dit:

<frameset rows=“80,*”>
<frame name=“Frame1” src=“top1.html”>
<frame name=“Frame2” src=“main2.html”>
</frameset>

In het frame waar je link in staat plaats je een Javascriptje dat weet welke 2 frames je wil veranderen en waar ze zich bevinden in het document.

je Script

<script language=“JavaScript”>
<!–
function tweelink(link1, link2) {
parent.frames[‘Frame1’].location.href = link1;
parent.frames[‘Frame2’].location.href = link2;
}

</script>

Je link geef je vervolgens de functie mee die weet waar de frames zich bevinden en geeft ze nieuwe properties:

je Link
<a href=“javascript:tweelink(‘top2.html’, ‘main2.html’)”>Link</a>

Misschien lukt 't!

uhmmm... ik zit even bij ons aller apple.com te kijken... soortgelijke opbouw (aantal frames en 2 menu's.. hoofd-en submenu), maar ook daar wordt de hele pagina (dus ook de bovenste ribbels) opnieuw opgebouwd... het zal waarschijnlijk niet anders kunnen

> MadSven en evt. anderen: als je nog wat tegenkomt: ik lees het graag, maar zoek je geen ongeluk!

groet: Viva

>MadSven:

ah, ik had je post nog niet gelezen
thx, ik ga het proberen, ik laat nog even weten of het zo wel lukt

groet

[color=darkred:57a1ada4da]Huishoudelijke mededeling[/color:57a1ada4da]: [color=darkblue:57a1ada4da]Voor dat soort vragen hebben we een ander forum, Web Ontwikkeling.[/color:57a1ada4da]

Madsven broncode in safari bekijken: zit er een spelfout in het popup menu (ctrl + click) tooon bronversie frame ? Kan dat nou ?

:smiley:

hmmm... weet ff niet zo snel waar je het over hebt??? pop-up??? :o :o

En helaas ben ik geen moderator, dus ik kan dit draadje niet in ‘webontwikkeling’ zetten… :frowning:

Consider it done :wink:

Maar waarom gebruik je in hemelsnaam zoveel verschillende frames? Zeker een sirte als deze kun je veel eenvoudiger maken zonder alles in afzonderlijke frames te stoppen. Of is er een speciale reden voor? Met CSS of gecombineerd tabel / CSS is er binnen een pagina ook te maken wat je nodig hebt, zonder alle struikelblokken van navigatie naar verschillende frames toe.

> WebJ en Syndic: thx > MadSven: is me nog niet gelukt > Deskman: hmm... veel frames (4)? De bedoeling is juist om het eenvoudig te houden, zoals gezegd: ben een volslagen leek op gebied van web ontwikkeling, CSS kan ik dus niets mee

btw: de frames zijn er dus omdat ik het scrollen aan en uit wil kunnen zetten en daarnaast de bovenste 3 frames over de volle breedte wil laten lopen
mijn vraag is dus: waarom stuurt een link vanuit frame 2 alleen dat frame aan en bouwt 'ie niet ook frame 3 en 4 opnieuw op (zoals aangegeven in het betreffende bestand)

wel, ik ga weer verder prutsen, bedankt voor de reacties tot zover

Dit is je code :

<frameset rows=“40,18,*” framespacing=“0” border=“0” frameborder=“0”>
<frame name="[b:36da67ca0d]KOP[/b:36da67ca0d]" noresize scrolling=“no” src=“head.html”>
<frame name=“mainframe” noresize scrolling=“no” src=“inhoud.html”>
<frame name=“welcome” noresize src=“home.html”>
</frameset>"

home.html: (toont vervolgens frame 3 en 4)
“<frameset rows=“21,*” framespacing=“0” border=“0” frameborder=“0”>
<frame name=”[b:36da67ca0d]KOP[/b:36da67ca0d]" noresize scrolling=“no” src=“sub_welcome.html”>
<frame name=“welkom” src=“welcome.html”>
</frameset>"
MCBM

je hebt nu twee keer dezelfde FRAMENAME
volgens mij is dit je probleem.
de dubblee naam kan er voor zorgen dat er verkeerd geladen wordt?[/b]

thx bieg dat was idd niet erg handig, om het mild uit te drukken.

code veranderd, probleem blijft.
voor index.html:

"<frameset rows=“40,18,*” framespacing=“0” border=“0” frameborder=“0”>
<frame name=“kop” noresize scrolling=“no” src=“head.html”>
<frame name=“mainframe” noresize scrolling=“no” src=“inhoud.html”>

<frameset rows=“21,*” framespacing=“0” border=“0” frameborder=“0”>
<frame name=“subframe” noresize scrolling=“no” src=“sub_welcome.html”>
<frame name=“welkom” src=“welcome.html”>
</frameset>
</frameset>"

wanneer ik vanuit “inhoud.html” een link selecteer staat er in het betreffende bestand:
“<frameset rows=“21,*” framespacing=“0” border=“0” frameborder=“0”>
<frame name=“subfame2” noresize scrolling=“no” src=“sub_affairs.html”>
<frame name=“update” src=“affairs.html”>
</frameset>”

vervolgens wordt het 3e frame opgebouwd (‘subframe2’) en niet het 4e frame (‘update’), de orginele (‘welkom’) blijft dan staan.
heb reeds geprobeerd door de frames bij ‘inhoud’ dezelfde naam te geven als bij ‘index’ (het zijn dan immers dezelfde frames die opnieuw moeten worden opgebouwd), target meegeven heeft ook geen effect