[JS] Anchor via window.opener werkt niet

Pagina: 1
Acties:

  • plofkip
  • Registratie: Oktober 2002
  • Laatst online: 12-02 11:39
Hey proggers!

Ik ben tegen een probleempje aangelopen... Ik heb een pagina die een pop-up opent om een reactie te plaatsen. Deze reacties hebben allemaal een <A name="reply###">, oftewel een anchor.. Die kun je aanroepen via http://www.url.nl/blaat.html#reply1234
Nu heb ik in die pop-up code staan om de reactie toe te voegen en daarna via een "Body onload" de hoofdpagina refreshed met het anchor en daarna de pop-up sluit... Dit is de code even uit de losse hand want de echte code staat ergens anders, maar het komt hier op neer:
code:
1
2
3
4
5
6
7
<script language="JavaScript">
function blaat(id)
{
window.opener.document.reload(window.opener.location.href + "#reply" + id);
this.close();
}</script>
en dan in de body tag: onload="blaat($id)"

Ik weet dus niet of het precies klopt, maar als ik id-1 doe dan doet hij het prima! Maar de nieuwe id pakt hij niet, alsof hij die nog niet kent... (de reply is al wel zichtbaar)

Weet iemand hoe dit komt (soort lag ofzo?)?

  • Victor
  • Registratie: November 2003
  • Niet online
Allereerst: vervang het language attribuut door type="text/javascript"

Ten tweede, probeer dit eens:
JavaScript:
1
2
3
4
5
window.onunload = function() {
  window.opener.location.hash = "#reply" + replyId; // Waar replyId de laatst toegevoegde reply is
  window.opener.location.reload();
  window.close();
}

  • plofkip
  • Registratie: Oktober 2002
  • Laatst online: 12-02 11:39
Ik zal het waarschijnlijk vrijdag pas proberen.... :-X
Dit heb ik van iemand anders als tip gekregen:
JavaScript:
1
2
3
<script type="text/javascript"> 
document.location.href=document.location.href.substr(1,document.location.href.indexOf('#')-1)+"#reply<?php echo $id; ?>"; 
</script>

[ Voor 70% gewijzigd door plofkip op 16-10-2006 20:33 ]


  • Victor
  • Registratie: November 2003
  • Niet online
FaNtJuH schreef op maandag 16 oktober 2006 @ 20:25:
Ik zal het waarschijnlijk vrijdag pas proberen.... :-X
Dit heb ik van iemand anders als tip gekregen:
JavaScript:
1
2
3
<script type="text/javascript"> 
document.location.href=document.location.href.substr(1,document.location.href.indexOf('#')-1)+"#reply<?php echo $id; ?>"; 
</script>
Waarom in hemelsnaam de hash property van het location object opnieuw uitvinden?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

plus dat location officieel geen property van het document object is. Dat browser nog wel deze legacy support bieden doet niets af aan het feit dat het fout is.

Intentionally left blank


  • plofkip
  • Registratie: Oktober 2002
  • Laatst online: 12-02 11:39
King_Louie schreef op maandag 16 oktober 2006 @ 21:04:
[...]

Waarom in hemelsnaam de hash property van het location object opnieuw uitvinden?
Don't ask me :X
crisp schreef op maandag 16 oktober 2006 @ 22:13:
plus dat location officieel geen property van het document object is. Dat browser nog wel deze legacy support bieden doet niets af aan het feit dat het fout is.
Wel handig om dan te zeggen wat je er beter voor kunt gebruiken ;)

[ Voor 43% gewijzigd door plofkip op 16-10-2006 22:52 ]


  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 02-01 15:55
Waarom gebruik je een popup om de reactie toe te voegen? Je kan het toch ook in de pagina zelf doen? Dan zorg je dat je door de submit pagina met een Location header naar de goede url geredirect wordt.. Zoiets werkt het hier op tweakers ook volgens mij.

Nog een voordeel is dat je dan geen javascript nodig hebt en dat het zeker cross browser werkt ;) .

[ Voor 16% gewijzigd door Borizz op 16-10-2006 23:02 ]

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


  • Victor
  • Registratie: November 2003
  • Niet online
FaNtJuH schreef op maandag 16 oktober 2006 @ 22:51:
[...]

Don't ask me :X


[...]

Wel handig om dan te zeggen wat je er beter voor kunt gebruiken ;)
location is een property van het window object, niet van het document object.

  • plofkip
  • Registratie: Oktober 2002
  • Laatst online: 12-02 11:39
Borizz schreef op maandag 16 oktober 2006 @ 23:01:
Waarom gebruik je een popup om de reactie toe te voegen? Je kan het toch ook in de pagina zelf doen? Dan zorg je dat je door de submit pagina met een Location header naar de goede url geredirect wordt.. Zoiets werkt het hier op tweakers ook volgens mij.

Nog een voordeel is dat je dan geen javascript nodig hebt en dat het zeker cross browser werkt ;) .
Hier op tweakers gebruiken ze ook een pop-up voor je reactie ;)

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

FaNtJuH schreef op maandag 16 oktober 2006 @ 23:42:
[...]

Hier op tweakers gebruiken ze ook een pop-up voor je reactie ;)
Puur legacy en staat al enige tijd op de nominatie om vervangen te worden.

Intentionally left blank


  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 02-01 15:55
FaNtJuH schreef op maandag 16 oktober 2006 @ 23:42:
[...]

Hier op tweakers gebruiken ze ook een pop-up voor je reactie ;)
Niet op dit forum... Maar goed je wilt het blijkbaar niet anders, dan zul je het toch echt zelf uit moeten zoeken.

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

Pagina: 1