[JS] History probleem met frame's

Pagina: 1
Acties:

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 04-09 12:53
Ik heb een pagina die uit een stuk of 15 frame's wordt opgebouwd. 1 frame wordt gebruikt als navigator en de rest van de frame's worden de pagina's geladen. Nu gebruik ik de history.back() in mijn pagina's om terug te gaan, maar:

Als ik in het navigatie menu een knop aanklikt dan wordt dat frame gerefreshed en daarna zal er een stuk code draaien op die pagina die zorgt dat de goede frame wordt opengeklapt. Maar als ik nu op de vertoonde pagina op de history.back() knop drukt dan gaat de pagina in de navigatie menu terug en NIET op de pagina zelf (mits ik voor het laatst in dit frame iets hebt gedaan).

Is er iets als this.frame.history.back() functie (maar dan een die werkt :) ) We gebruiken alleen IE 5 of hoger.

Ik hoop dat ik een beetje goed het probleem hebt omschreven!

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • André
  • Registratie: Maart 2002
  • Laatst online: 03-09 14:12

André

Analytics dude

code:
1
top.frame.history.back()

Misschien zo?

Verwijderd

waarschijnlijk vervang je vanuit je navigatie eerst de content en daarna ook de navigatie, dus history(-1) is dan navigatie. met history(-2) zou je wel de content kunnen aanroepen of je draait de volgorde in de navigatie om.

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 04-09 12:53
Op woensdag 15 mei 2002 10:15 schreef Goose-2- het volgende:
waarschijnlijk vervang je vanuit je navigatie eerst de content en daarna ook de navigatie, dus history(-1) is dan navigatie. met history(-2) zou je wel de content kunnen aanroepen of je draait de volgorde in de navigatie om.
Daar dacht ik ook al aan, maar er zit nog iets heel lastigs aan:

Ik heb een frame "menu" met de navigatie die 20 pixels hoog is, een frame "set" die alle frame's zal besturen, deze is nooit zichtbaar, daarna heb ik iets van 10 frame's die standaard op 0% staan waar ik de website (programma) in vertoond, en daarna heb ik nog een paar frame's op 0% staan die timers en beveiligingen bevatten. Nu ik dus in het frame menu iets aanklikt wordt eerst het frame "set" gerefreshed en komt de code die er voor zorgt dat het goede frame op 100% wordt gezet, daarna wordt het frame "LockTijd" opnieuw gerefreshed (Dit frame zorgt ervoor dat na 15 minuten geen activiteiten een frame "gelocked" tevoorschijn komt en dan moet men eerst weer inloggen), als dit gebeurd is wordt ook nog eens het frame "menu" gerefreshed om de goede knoppen te laten oplichen. En als het frame gelocked is worden er weer meer pagina's geladen/gerefreshed, dus ik denk dat history.back(x) niet veel zin heeft. Ik wil dus echt SPECIFIEK alleen het ene frame terug laten gaan waarin op de history wordt gedrukt.

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 04-09 12:53
Op woensdag 15 mei 2002 10:13 schreef Yogho het volgende:
code:
1
top.frame.history.back()

Misschien zo?
Ik heb al heel veel van zulke varianten geprobeert, maar ze geven allemaal foutmeldingen :'(

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


Verwijderd

complex ... te complex voor mij ...

Verwijderd

toch nog even, een reaktie van mijn collega ...

heb je al geprobeerd om alle frames die niet interessant zijn om in je history te hebben in te laden met framenaam.location.replace('url') in plaats van framenaam.location.href = url te gebruiken. op die manier zorg je ervoor dat de frame wel word vervangen, maar niet in de history word opgenomen.

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 04-09 12:53
Op woensdag 15 mei 2002 10:34 schreef Goose-2- het volgende:
toch nog even, een reaktie van mijn collega ...

heb je al geprobeerd om alle frames die niet interessant zijn om in je history te hebben in te laden met framenaam.location.replace('url') in plaats van framenaam.location.href = url te gebruiken. op die manier zorg je ervoor dat de frame wel word vervangen, maar niet in de history word opgenomen.
Klinkt heel logisch, maar ik krijg de volgende foutmelding "Eigenschap of methode wordt niet ondersteund door dit object", ik gebruik:
code:
1
2
3
parent.FrameStatus.replace('status.asp?stop=1');
    parent.FrameGelocked.replace('gelocked.asp');
    parent.FrameHoogte.rows='0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,*,0%,0%';

Op de eerste regel geeft hij al de foutmelding.

Heb ik iets verkeerds gedaan??
Eerst had ik deze code:
code:
1
2
3
parent.FrameStatus.location='status.asp?stop=1';
    parent.FrameGelocked.location='gelocked.asp';
    parent.FrameHoogte.rows='0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,0%,*,0%,0%';

edit:

parent.FrameGelocked.location.replace('gelocked.asp');
werkt wel, ff testen of hij nu NIET in de history wordt opgenomen.

Ohw shit, ik gebruik ook in mijn asp pagina's de response.redirect, kan ik die ook uit de history halen??

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


Verwijderd

ik ben dus de collega van Goose...

je bent in je script vergeten om location erin te zetten.

parent.FrameStatus.location='status.asp?stop=1'; is je oude. dit moet nu worden parent.FrameStatus.location.replace('status.asp?stop=1'). Nu komt de status pagina niet in je history te staan.

  • jorizz
  • Registratie: Mei 2002
  • Laatst online: 13-08 22:55
aangezien ik anders heel de tijd via Goose zijn account moet werken, heb ik maar zelf even een profiel aangemaakt...

maar om op je vraag terug te komen. ik weet niet of je redirect invloed heeft op de back knop van je browser. ik denk het niet, aangezien je asp wordt verwerkt op de webserver en niet op client. maar om er zeker van te zijn kun je het beste even proberen

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 04-09 12:53
Op woensdag 15 mei 2002 11:07 schreef jorizz het volgende:
aangezien ik anders heel de tijd via Goose zijn account moet werken, heb ik maar zelf even een profiel aangemaakt...

maar om op je vraag terug te komen. ik weet niet of je redirect invloed heeft op de back knop van je browser. ik denk het niet, aangezien je asp wordt verwerkt op de webserver en niet op client. maar om er zeker van te zijn kun je het beste even proberen
Ik denk dat ik het met ASP beter op kan lossen met de HTTP_REFERER o.i.d. te gebruiken! En deze link onder de back knop hangen, werkt denk ik beter dan dit!

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


Verwijderd

Wat ik wel doe in het geval dat history.back() niet optimaal werkt, is een teller toevoegen op een plek die niet verandert. Bijv. in een extra (hidden)frame. Bij elke verandering in je pagina('s) tel je vervolgens 1 op bij de teller of vermindert met 1. parent.hidden_frame.teller=parent.hidden_frame.teller-1.
Met parent.hidden_frame.history.go(teller) bepaal je dan hoeveel er dan direct terug moet worden gesprongen of vooruit.
Pagina: 1