webForumDet fria alternativet
Logga in / Bli medlem

window.opener.location.hash

JavaScript

5 svar · 328 visningar · startad av Jaar

Medlem sedan juli 2001434 inlägg
Trådstart#1

Jag har ett popupfönster med följande länk

<input class="button" type="button" OnClick="window.opener.location.reload(); window.opener.location.hash='mittAnkare'; window.close();" value="Close">

Ibland får jag dock ett error, och det vill jag inte ha. Jag har inte hittat vad det beror på ännu.

Felet är ett "åtkomst nekad" och det uppstår ibland men inte alltid.

Någon som vet vad det kan bero på? Är det ifall opener inte laddat klart innan hash körs?

Det jag vill åstakomma är att sidan skall vara nedscrollad till det man stod på innan man öppnade popupen. Med en enkel reload funkar inte det.
En alternativ lösning är också ok. Enda kravet är att det fungerar på IE 5.x o senare. Helst även 4.x

Medlem sedan aug. 20039 340 inlägg
#2

Åtkomst nekad är ett fel som brukar uppstå när man från en sida försöker påverka en annan sida som finns på en annan domän. Kan du med uteslutningsmetoden komma på vilket av kommandona som orsakar felet?

Medlem sedan juli 2001434 inlägg
#3

Det är .hash som genererar felet. Tar jag bort den så uppstår aldrig felet.

Medlem sedan aug. 20039 340 inlägg
#4

Great! Då bör följande lösa ditt problem:

<input class="button" type="button" onclick="window.opener.location.reload(); window.opener.location= '#mittAnkare'; window.close();" value="Close" />
Medlem sedan juli 2001434 inlägg
#5

Får fortfarande åtkomst nekad.
Har dock tagit fram detta:

   strParameters = objOpener.location.href.substring(objOpener.location.href.lastIndexOf("?"), objOpener.location.href.lastIndexOf("#"));
   objOpener.location.href = objOpener.location.protocol + '//' + objOpener.location.host + objOpener.location.pathname + strParameters + '#' + strNewAnchor

Och den ställer sig på rätt ställe. Problemet är att sidan inte laddas om... vilket är himla störande.

Medlem sedan juli 2001434 inlägg
#6

Om jag slänger på en extra parameter typ

time=" + new Date().toMilliseconds()

så blir ju urlen lite annorlund och då laddas sidan om. Kan man inte göra det på något annat sätt?

Red: Eftersom jag hämtar alla parameterar från tidigare sida blir det ganska många time om man skulle öppna, stänga, öppna, stänga osv

250 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)