webForumDet fria alternativet

uppdatera vid stängning av popup

JavaScript

23 svar · 661 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

:)
Hej!

Om jag öppnar ett popup-fönster från ett annat fönster, går det då att uppdatera det ursprungliga fönstret när popupfönstret stängs?

Mvh
Henrik

Medlem sedan dec. 20025 483 inlägg
#2

Tjena! :)

Testa (i popupfönstret):

<body onunload="window.opener.location.reload()">
Medlem sedan jan. 20013 582 inlägg
#3

hehe, snabba ryck :)

Ska testa det!

Mvh

Medlem sedan jan. 20013 582 inlägg
#4

Hmmm.. :)

Få det inte att fungera... Popupen är en frameset. Kan det påverka?

så här testade jag:

<title><% =Request.Cookies("Task")("taskNr") %></title>
</head>

<frameset rows="100,*,100" cols="*" framespacing="0" frameborder="yes" border="0">
  <frame src="topFrame.asp" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" title="topFrame" />
  <frameset cols="*,100%" id="middle">
    <frame src="Menu/articleMenu.asp" name="leftMenuFrame" id="leftMenuFrame" title="leftMenuFrame" />
    <frame src="mainFrame.asp" name="mainFrame" id="mainFrame" title="mainFrame" />
  </frameset>
  
  <frame src="bottomFrame.asp" name="bottomFrame" scrolling="No" noresize="noresize" id="bottomFrame" title="bottomFrame" />
</frameset>

<noframes>
<body onunload="window.opener.location.reload()">
</body>
</noframes>
</html>

Mvh
henrik

Medlem sedan juli 2003465 inlägg
#5

Du kan inte ha body på en frameset sida.
Du får lägga javascriptet i en frame och skriva så här:

window.parent.opener.location.reload()

och om du skall stänga med så blir det ju

window.parent.opener.location.reload(); window.close();
Medlem sedan juni 200032 967 inlägg
#6

... eller lägga onunload i <frameset>?

The FRAMESET element also accepts ONLOAD and ONUNLOAD attributes to specify client-side scripting actions to perform when the frames have all been loaded or removed.

Källa: http://www.htmlhelp.com/reference/html40/frames/frameset.html

Medlem sedan juli 2003465 inlägg
#7

Åsså det visste jag inte... man lär sig alltid något nytt varje dag...
Men han skall la uppdatera när han stänger fönstret?

Medlem sedan juni 200032 967 inlägg
#8

Men han skall la uppdatera när han stänger fönstret?

Jo. Nu vet jag inte om onunload fungerar på exakt samma sätt i frameset- som i body-elementet, men det är helt klart värt att prova bara att flytta koden från <body> i <noframes> till den yttersta frameset-taggen.

mvh

Medlem sedan juli 2003465 inlägg
#9

Hmm jag läste inte riktigt ditt inlägg @nders trodde det stod onload :)

Medlem sedan jan. 20013 582 inlägg
#10

här var det aktivitet.... ska testa...

Medlem sedan jan. 20013 582 inlägg
#11

Weeee, funkar klockrent!

Tack allihopa!

Mvh
Henrik

Medlem sedan jan. 20013 582 inlägg
#12

Hmmm, funkade igår, men nu när jag testar laddas inte ursprungsfönstret om... konstigt

Hur säkert är det att det ska fungera?

Mvh
Henrik

Medlem sedan jan. 20013 582 inlägg
#13

verkar bero på webläsaren, kan det vara så?

Mvh
Henrik

Medlem sedan juli 2003465 inlägg
#14

Om du har en knapp för att stänga fönstret så kan du testa min lösning...
om du vill kolla så att javascriptet körs så lägg in en alert("javascript funkar");

Medlem sedan jan. 20013 582 inlägg
#15

Hej :)

Det är ingen dum lösning men jag vill helst att det ska hända saker när man stänger fönstret. Man kanske kan lägga in både och. Det primära är att stänga med knapp. Men det finns en chans till för klåparna.... ;)

Mvh
Henrik

Medlem sedan dec. 20025 483 inlägg
#16

Har skickat med ett för mig fungerande exempel. :)

Medlem sedan jan. 20013 582 inlägg
#17

wee :)

Det fungerar perfekt... Kan man inte lägga med koden för att få en alert vid stängning av popupen i den koden med?

Mvh
Henrik

Medlem sedan dec. 20025 483 inlägg
#18

I popup.html:

window.onunload = function(){
  if (window.opener){
    alert("Bye, bye");
    window.opener.location.reload();
  }
}

:)

Medlem sedan jan. 20013 582 inlägg
#19

Hejsan! :)
Fungerade inte riktigt så som jag vill ha det.

alerten (eller confirm ska det vara) kommer efter det att fönstret har stängts. Tanken var ju att den skulle förhindra att fönstret stängdes och därmed ge användaren en möjlighet att ångra sig....

Hmm, det hela beror nog på att jag är i två olika trådar och surrar nu... Sorry...

Mvh
Henrik

Medlem sedan dec. 20025 483 inlägg
#20

Ja, jag måste vara lite förvirrad. I popup.html:

window.onunload = function(){
  if (window.opener){
    window.opener.location.reload();
  }
}

window.onbeforeunload = function(){
  return "Whatever message...";
}

Det är väl inte den snyggaste confirmrutan, men å andra sidan tror jag inte den går att piffa upp heller.

:)

255 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
117 ms — ändringar (db)