Toon posts:

[js] parent verversen en daarna naar bepaalde anchor

Pagina: 1
Acties:

Verwijderd

Topicstarter
Vanuit een popup wil ik de parent pagina verversen (want in de popup worden de gegevens bijgewerkt).
In de parent staat een enorme tabel, waarvan elke rij een anchor heeft.
Nu wil ik dus dat nadat de parent pagina ververst is, de pagina opschuift naar de betreffende anchor.
De anchor is overigens bekent in de pop-up.

Herladen van de parent zou als volgt moeten (en dat werkt):
code:
1
opener.window.location.href=''+opener.window.location+'';


Maar daarna moet dus naar de anchor worden gegaan.
Direct gaat dit niet met
code:
1
opener.window.location.href=''+opener.window.location.pathname+'#{$_GET['anchor']}';

Want dan wordt de pagina niet herladen.

Ook door bovenstaande regels achter elkaar uit te voeren werkt het niet ...

Iemand enig idee hoe ik dit kan oplossen?!

[ Voor 5% gewijzigd door Verwijderd op 30-08-2005 17:04 ]


  • Civil
  • Registratie: Oktober 2002
  • Laatst online: 13:30
is het niet

JavaScript:
1
opener.window.location.hash='#anchor'


het zou ook zonder # teken kunnen zijn

[ Voor 30% gewijzigd door Civil op 30-08-2005 17:38 ]


  • Baxlash
  • Registratie: Juni 2000
  • Niet online

Baxlash

Its a boy Genius!

Ik heb het idee dat je iets heel ergs raars doet met de quotes.

je zou dit eens kunnen proberen (niet getest)
code:
1
opener.window.location.href="#<?=$_GET['anchor']?>" ;

  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 02-01 15:55
Dit werkt niet, omdat de pagina nog in de cache staat en zo dus direct naar de anchor wordt gesprongen (is ook logisch, want als je op een link op de betreffende pagina klikt naar die anchor wordt de pagina immers ook niet herladen).

Wat je kunt doen is telkens een random waarde (bijvoorbeeld time()) meegeven achter de pagina, zodat je browser denkt dat het een andere pagina betreft omdat hij deze nog niet in zijn cache heeft staan.

If I can't fix it, it ain't broken.


Verwijderd

Topicstarter
mm, dat zou ik eens kunnen proberen idd ...

Ik dacht eigenlijk door eerst de hele pagina opnieuw te laden en dan naar de anchor te springen.
In 2 stappen dus, maar dat werkt ook niet.

Verwijderd

Topicstarter
Baxlash schreef op dinsdag 30 augustus 2005 @ 17:38:
Ik heb het idee dat je iets heel ergs raars doet met de quotes.

je zou dit eens kunnen proberen (niet getest)
code:
1
opener.window.location.href="#<?=$_GET['anchor']?>" ;
Nee hoor ...

opener.window.location.href = waarde
gaat niet werken. Dus moeten er quotes omheen.
Aangezien waarde een variabele is moet je dus 2 quotes gebruiken: ''+waarde+'' wat dus resulteert in 'uitkomst' , wat dus netjes een string is.

Wat betreft de cache:
Als ik de eerste optie doe
code:
1
opener.window.location.href = ''+opener.window.location+''

, dan werkt het wel altijd, die pagina staat toch ook in de cache?!

[ Voor 21% gewijzigd door Verwijderd op 30-08-2005 21:56 ]


Verwijderd

Je kan zoals al gezegt er een random string achter gooien zo had ik dit ook opgelost met een dynamische signature op een ander forum. Je kan ook de cache regelen van het document op je server of door middel van headers.
Pagina: 1