webForumDet fria alternativet

window.opener.location.hash

5 svar · 328 visningar · startad av Jaar

JaarMedlem sedan juli 2001434 inlägg
#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

nitro2k01Medlem sedan aug. 20037 630 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?

JaarMedlem sedan juli 2001434 inlägg
#3

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

nitro2k01Medlem sedan aug. 20037 630 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" />
JaarMedlem 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.

JaarMedlem 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

Genererad på 359 ms · cache AV · v20260730165559-full.f96bc7eb