Avatar billede jammerlab Nybegynder
19. januar 2004 - 21:51 Der er 21 kommentarer og
1 løsning

Refresh side ved luk af popup!

Ok roenving gav mig følgende svar i et tidligere spørgsmål men det fungere ikke.

<body onunload="opener.location.reload(true);">

Eller rettere jow den fungere... men når jeg loader popup'et så loader den ikke framesettet...

<frameset rows="100,*" frameborder="NO" border="0" framespacing="0">
  <frameset cols="*,0" frameborder="NO" border="0" framespacing="0" rows="*">
    <frameset cols="*,0" frameborder="NO" border="0" framespacing="0" rows="*">
      <frame name="topFrame" scrolling="NO" noresize src="chat_F1.php" >
      <frame name="rightFrame1" scrolling="NO" noresize src="hidden_f.php">
    </frameset>
    <frame name="rightFrame" scrolling="NO" noresize src="hidden_f2.php">
  </frameset>
  <frameset rows="*,50" frameborder="NO" border="0" framespacing="0">
    <frameset cols="160,*" frameborder="NO" border="0" framespacing="0" rows="*">
      <frame name="leftFrame" scrolling="NO" noresize src="chat_F2.php">
      <frame name="mainFrame" src="chat_F3.php">
    </frameset>
  <frame name="bottomFrame" scrolling="NO" noresize src="chat_F4.php">
</frameset>
</frameset>

Så hvis jeg sætter popup updaten ind så loader den ikke framet men opdatere siden når jeg lukker det... sætter jeg ikke updaten ind så loader den framesettet...
Avatar billede thesurfer Nybegynder
19. januar 2004 - 21:59 #1
hvad med?:
opener.top.location.reload(true);

Ellers reloader den vist kun den side, der åbnede popup'en..
Avatar billede jammerlab Nybegynder
19. januar 2004 - 22:01 #2
Begge fungere... men når jeg sætter den ind i koden så kommer der bare en blank side op i popup'et... den loader ikke det frameset som den gør når jeg fjerne koden.
Avatar billede thesurfer Nybegynder
19. januar 2004 - 22:04 #3
Du har frameset (A). I A er der en side (B) der åbner en popup (C).
Du vil gerne ha', at når C lukkes, så skal A reloades?
Eller hvordan?
Avatar billede jammerlab Nybegynder
19. januar 2004 - 22:09 #4
Har en helt normal side (A) i denne findes et link som åbner en ny side i et popup (B) Det er her i (B) jeg indsætter min popup close refresh kode, og det er her framesettet befinder sig i...
Avatar billede thesurfer Nybegynder
19. januar 2004 - 22:14 #5
hmm.. altså:
1) Alm side A åbner popup B, som faktisk indeholdet framesettet?
2) Og når B lukkes, vil du ha' at B reloades ?
Avatar billede jammerlab Nybegynder
19. januar 2004 - 22:15 #6
1) Alm side A åbner popup B, som faktisk indeholdet framesettet.
2) Og når B lukkes, vil du ha' at A reloades.
Avatar billede thesurfer Nybegynder
19. januar 2004 - 22:19 #7
hmm.. så skal den hedde: <body onunload="opener.location.reload(true);">
Den kode skal placeres i B, fordi opener = det vindue der åbnede vinduet med koden..

Altså:
A åbner B, derfor er opener = A.

Ergo <body onunload="opener.location.reload(true);">

Måske er det selve framesettet der ødelægger det hele..

B indeholder jo sikkert 2 eller flere sider.. f.eks. C og D. Men koden skal være i B, og ikke C eller D..
Avatar billede jammerlab Nybegynder
19. januar 2004 - 22:22 #8
Fatter det ik... den vil simpelthen ikke loade det frameset når jeg indsætter koden!

Har er hele koden fra (B)

<?php require 'head.php';?>
<?
$room_id = 1;

if($chat_update == "set_1") {
$unix = strtotime ("now");
mysql_query("UPDATE chatonline set logon='$unix',chat='1' WHERE bruger = '$_SESSION[chat_u]'")or die (mysql_error());
}

?>
<body onunload="opener.location.reload(true);">
<frameset rows="100,*" frameborder="NO" border="0" framespacing="0">
  <frameset cols="*,0" frameborder="NO" border="0" framespacing="0" rows="*">
    <frameset cols="*,0" frameborder="NO" border="0" framespacing="0" rows="*">
      <frame name="topFrame" scrolling="NO" noresize src="chat_F1.php" >
      <frame name="rightFrame1" scrolling="NO" noresize src="hidden_f.php">
    </frameset>
    <frame name="rightFrame" scrolling="NO" noresize src="hidden_f2.php">
  </frameset>
  <frameset rows="*,50" frameborder="NO" border="0" framespacing="0">
    <frameset cols="160,*" frameborder="NO" border="0" framespacing="0" rows="*">
      <frame name="leftFrame" scrolling="NO" noresize src="chat_F2.php">
      <frame name="mainFrame" src="chat_F3.php">
    </frameset>
  <frame name="bottomFrame" scrolling="NO" noresize src="chat_F4.php">
</frameset>
</frameset>
</html>
Avatar billede thesurfer Nybegynder
19. januar 2004 - 22:33 #9
Det er kombinationen af body og framesettet.. jeg kigger lige på det..
Avatar billede grunken Nybegynder
19. januar 2004 - 22:53 #10
hvordan ser landet ud hvis du smider den onunload på et frameset ?
Avatar billede thesurfer Nybegynder
19. januar 2004 - 23:04 #11
Alternativ løsning..

A:
<a href="B.htm" target="_blank">åben popup</a>
<br><br>

<script type="text/JavaScript">
document.write(new Date()); // så kan vi se når den opdateres..
</script>


B:
<html>
<head>
</head>

<frameset rows="64,*">
  <frame name="banner" scrolling="no" noresize target="indhold">
  <frameset cols="150,*">
    <frame name="indhold" target="hovedramme" src="C.htm">
    <frame name="hovedramme" src="D.htm">
  </frameset>
  <noframes>
  <body>

  <p>Denne Web-side bruger rammer, og din browser understøtter ikke rammer.</p>

  </body>
  </noframes>
</frameset>

</html>

C:
<body onunload="top.opener.location.reload(true);">
Dette er filen "C.htm"

D:
Dette er filen "C.htm"
Avatar billede thesurfer Nybegynder
19. januar 2004 - 23:04 #12
En framesæt fil accepterer ikke et <body>-tag udenfor selve <noframes>-tag'et..
Avatar billede jammerlab Nybegynder
19. januar 2004 - 23:05 #13
Ser helst ikke jeg skal lave om på det :) Må da være en forklaring :|
Avatar billede jammerlab Nybegynder
19. januar 2004 - 23:08 #14
Kan vi så gøre det via et nyt popup? Når man lukker (B) kommer der nemlig et popup... kan vi refreshe (A) via denne?
Avatar billede thesurfer Nybegynder
19. januar 2004 - 23:14 #15
Den eneste forskel er, at du putter <body onunload="top.opener.location.reload(true);"> i en side i framesettet, der ikke ændre sig..
Avatar billede thesurfer Nybegynder
19. januar 2004 - 23:15 #16
.. alt det andet jeg lavede var bare en test..

Der må være mindst 1 af de her sider, der forbliver den samme, dvs, ikke skifter url:

<frameset rows="100,*" frameborder="NO" border="0" framespacing="0">
  <frameset cols="*,0" frameborder="NO" border="0" framespacing="0" rows="*">
    <frameset cols="*,0" frameborder="NO" border="0" framespacing="0" rows="*">
      <frame name="topFrame" scrolling="NO" noresize src="chat_F1.php" >
      <frame name="rightFrame1" scrolling="NO" noresize src="hidden_f.php">
    </frameset>
    <frame name="rightFrame" scrolling="NO" noresize src="hidden_f2.php">
  </frameset>
  <frameset rows="*,50" frameborder="NO" border="0" framespacing="0">
    <frameset cols="160,*" frameborder="NO" border="0" framespacing="0" rows="*">
      <frame name="leftFrame" scrolling="NO" noresize src="chat_F2.php">
      <frame name="mainFrame" src="chat_F3.php">
    </frameset>
  <frame name="bottomFrame" scrolling="NO" noresize src="chat_F4.php">
</frameset>
</frameset>
Avatar billede jammerlab Nybegynder
19. januar 2004 - 23:18 #17
chat_F1.php ændres ikke...
Avatar billede thesurfer Nybegynder
19. januar 2004 - 23:21 #18
fint fint :)
Put <body onunload="top.opener.location.reload(true);"> i filen chat_F1.php.
Avatar billede jammerlab Nybegynder
19. januar 2004 - 23:27 #19
Dejligt :) Det fungere :P

Smid et svar, tak for hjælpen.
Avatar billede thesurfer Nybegynder
19. januar 2004 - 23:28 #20
Et svar er smidt :)
Avatar billede thesurfer Nybegynder
19. januar 2004 - 23:31 #21
Takker for points :)
Avatar billede roenving Novice
20. januar 2004 - 01:26 #22
Jeg har ikke testet lige det hjørne, men når onload virker på frameset, tror jeg også at onunload virker ...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester