Toon posts:

[JS] Kan een URL met variabele knoppen dissabelen?

Pagina: 1
Acties:
  • 151 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hey allemaal,

Ik ben bezig met een website waarbij het van belang is dat knoppen uit het menu reageren op contentpagina’s van de site. Dat wil zeggen dat als men op een knop klikt, deze van wit in zwart veranderd en men zo ziet waar hij is in de site. Ik heb, aangezien ik met frames werk, al verscheidene problemen gehad met het extern aanroepen van contentpaginas uit de site, zoals vanuit google die de contentpagina’s waarschijnlijk los van frameset indexeerd. Helaas kan dat in dit geval niet anders, dit is wat de eigenaar van de site graag wil.

Ik ben bezig met het doorgeven van variabelen door middel van urls. Dus wanneer men een contentpagina alleen aanroept, plaatst deze zichzelf automatisch in zijn frameset en ziet het menu in de url de naam van de pagina, waarop het zijn knoppen die bij de desbetreffende pagina horen op zwart zet. Het probleem is dat de andere knoppen in het menu hierna niet meer werken. Maar wanneer men de pagina vanaf het begin benaderd, dus via het domein www.domein.nl ziet men logischerwijs de goede frameset en werken alle knoppen.

Ik ben dus bang dat de url, als die bijvoorbeeld index.html?bottom=content.html bevat, er voor zorgt dat de knoppen niet meer werken, als een soort over-ruler. Met andere woorden: In de url staat “mijn bottomframe moet die pagina bevatten” en als een knop zegt “stop deze pagina in het bottomframe” dat dit dus niet gaat omdat de url de “baas” is. Mijn vraag is dus, kan dit het geval zijn? En zo ja, is er een manier om dit op te lossen?

Ik heb de tweakers site al doorzocht maar geen antwoord gevonden. Ik hoop dat ik mijn vraag duidelijk genoeg heb geformuleerd en dat iemand me kan helpen.

In ieder geval bedankt :)

Groetjes,
Arvensis

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

Je kunt met javascript het menu-frame aanspreken en zo bepaalde links in of outschakelen of van style wisselen. Als je in iedere contentpagina zorgt dat zo het menu juist aangepast wordt heb je ook geen problemen content-navigatie.

De url heeft hier echter helemaal niks mee te maken.

Verwijderd

Ik snap de helft nog niet van wat je probeerd uit te leggen, maar als ik het dus goed begrijp: Als er op een knop gedrukt word word er een pagina geopend in een van de frames? In dat geval moet het toch gewoon te doen zijn met "a href target = _top" o.i.d.? In de tital staat ook nog iets over variabeles maar hier vind ik verder niks van terug in het verhaal? Of ben ik de enigste die zo dom is dat ik het verhaal niet snap? 8)7

(Volgens mij loop ik nu complete wartaal uit te slaan :P... wat betreft disablen van bepaalde objecten kan je toch gewoon "document.getElementById("knop").disabled = true" ofzo doen?)

[ Voor 23% gewijzigd door Verwijderd op 17-03-2004 15:36 ]


Verwijderd

Topicstarter
Bosmonster: De knoppen werken dus helemaal niet meer. Ik kan wel vanuit de contentpagina's het hele menu gaan veranderen, aangezien elke knop niet meer werkt, maar dat lijkt me een omweg.

ScriptFreak: Jammer, ik had nog zo m'n best gedaan het goed te formuleren... ;) Je hebt het wel goed begrepen hoor. De knoppen openen inderdaad een contentpagina in een ander frame, normaal gesproken dan. Zodra een contentpagina extern word aangeroepen zonder zn frame wil ie zichzelf in een frame plaatsen dmv index.html?bottom=content.html. Zodra die DAT doet gaat het fout, dan werken al mn knoppen niet meer, zowel de rollovers als de daadwerkelijke links. Ik heb al gebruik gemaakt van target='bottom'.

Hoop dat ik er niet nog een grotere warboel van maak ;)

Verwijderd

Het lijkt er dus op dat doordat hij zichzelf in de frameset forceerd de frameset niet meer gevonden wordt, waardoor je target niet gevonden wordt en het dus niet werkt. Een andere verklaring kan ik zo niet vinden? Een oplossing overigens zo gauw ook niet :X

Verwijderd

Topicstarter
Ik heb nog eens gezocht en vond dit: http://tech.irt.org/articles/js126/contents.htm Deze site heeft een heel artikel geschreven over frames en javascript, en hoe je hiermee kunt zorgen dat je pagina's in de juiste framesets worden geladen en niet in die van anderen, enz. Het grappige is, ik klik op die link van boven, die plaatst zichzelf in een frameset, alles mooi. Maar klik nu eens op een van de links in de rechterframes... die werken niet. There we go: Mijn probleem. :) Ben blij dat ik niet de enige ben... of werkt het bij mij als enige niet B)

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

Nou snap ik er ook niks meer van... Wat bedoel je met 'knoppen die niet werken' :?

Een voorbeeld zou wonderen doen.. dat voorbeeld van IRT doet het hier (onder omstandigheden) goed.

[ Voor 39% gewijzigd door Bosmonster op 17-03-2004 16:15 ]


Verwijderd

Het voorbeeld doet het bij mij ook goed... Maar dit komt omdat de frames niet linken naar andere frames in de desbetreffende frameset (denk ik). Met knoppen bedoeld hij zij O-) denk ik gewoon hrefjes in een menu?

[ Voor 5% gewijzigd door Verwijderd op 17-03-2004 16:21 ]


Verwijderd

Topicstarter
Zie mijn eerdere post over die url... dat is precies mijn probleem. Aanroep losse pagina --> redirect naar frameset met ?framenaam=pagina.html --> any link in de nieuw pagina werkt niet meer. Mijn probleem is denk ik een stuk duidelijker als je het voorbeeld bekijkt.

Knoppen werken niet meer: De links werken niet meer, er word dus geen nieuwe pagina getoond na klikken. (Rollovers doen het ook niet meer. Maar dat is bijzaak. T gaat me om de links die niet meer werken)

Ennuh ik ben een zij B) Kijk naar mijn flitsende hippe vrouwelijke bril (ookal heb ik die in het echt niet ;)) kan alleen maar een zij zijn... of jamai.

[ Voor 16% gewijzigd door Verwijderd op 17-03-2004 16:19 ]


Verwijderd

Ik zit te spelen met het idee van een redirect? Als de content niet in de frameset staat redirect hij naar een pagina waar dit wel is? :)

:Z... Ik zit met m'n hoofd in de wolken denk ik, dat is waar we het al de hele tijd over hebben 8)7

[ Voor 30% gewijzigd door Verwijderd op 17-03-2004 16:23 ]


Verwijderd

Topicstarter
Geeft niet hoor :) Maar: Voorbeeld werkt dus bij jullie wel? Vreemd. Dan ga ik bijna denken dat het aan mijn browser ligt :S Wat voor browser gebruiken jullie? IE6.0? Ik neem aan van wel. Ik dus ook... En bij mij krijg ik na openen van het voorbeeld een geredirecte frameset, waarna alle links niet meer werken. Bij jullie werken ze dus wel, ze openen dus een compleet nieuw ingerichte frameset? :S vreemd.

Verwijderd

IE 6.0 + xp :). Wat ze dus doen is de frameset openen (kijk url: frameset.html?blaat) en vervolgens defineren ze welke pagina's op de desbetreffende frameset geload moeten worden :).

edit:
Na wat verder kijken: In jou topicstart geef je de frames mee als bijv frameset.htm?bottom=contents.htm zeg je. In het eerder geposte voorbeeld doen ze dit met frameset.htm?contents.htm&title.htm&main.htm. Ik hoop dat je er uit komt :)

[ Voor 45% gewijzigd door Verwijderd op 17-03-2004 16:55 ]


Verwijderd

Topicstarter
:( Arvensis = sipjes.

Waarom werkt zelfs die irt site bij mij nu weer niet... draai ook gewoon xp. standaard instellingen van IE. Ik snap wat je me uitlegt en heb dit ook geprobeerd maar als zelfs het voorbeeld al niet werkt, hoe kan ik dan testen of het in mijn geval wel werkt? Hmmmmmm. Maar goed... ik ben blij dat het niet aan mijn scriptje ligt (of loop ik nu op de zaken vooruit)

Verwijderd

Topicstarter
Ik snap er echt niets meer van. Iemand een idee waarom het bij mij niet werkt? Vast niet duidelijk genoeg en van afstand niet te zien maar ik dacht ik vraag het in ieder geval.

Nog zoiets: Ik ben bezig met redirecten. Domein stereogallery.com is het main domein, maar pixel.nl word door de hosting-mensjes doorgelinkt naar deze stereogallery.com. Nu heb ik een redirect en word pixel.nl naar zijn eigen mapje geredirect. Voorbeeld: Tik www.pixel.nl en zie daar. Maar nu werkt mijn back button niet meer. Ik heb alles geprobeerd, location.href, location.replace, etc. etc. Hoe kan ik dit oplossen? Of ben ik weer de enige waarbij het niet werkt ;)

Misschien moet ik hier maar een nieuwe topic over starten. Maar ik dacht ik doe het even hier want als dit probleem opgelost kan worden, weet ik ook een oplossing voor mijn vorige probleem en zal ik die oplossing gelijk even posten en kan het hier op slot :)

Groetjes,
Arvensis

Na Bosmonster's reply: Heerlijk hoe je via het een in het ander kunt vallen. Je hebt gelijk, het werkt inderdaad gewoon (delay na het uploaden, ik was te ongeduldig, het werkt inderdaad prima die location.replace :D) Ik kom zo weer terug op mijn probleem, even nadenken ;)

[ Voor 14% gewijzigd door Verwijderd op 22-03-2004 12:13 ]


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

Als ik de url in typ werkt de back-button sowieso niet natuurlijk. Anders kun je met location.replace voorkomen dat de oude pagina in de history komt. Hierdoor zou die overgeslagen moeten worden in de back-forward routine.

Maar volgens jou werkt dat weer niet :P

[edit]
Ik heb net even geprobeerd en blijkbaar gebruik je nu location.replace, want het werkt prima?

[ Voor 17% gewijzigd door Bosmonster op 22-03-2004 11:49 ]

Pagina: 1