Avatar billede web_freak Nybegynder
03. juni 2005 - 14:44 Der er 30 kommentarer og
1 løsning

javascript reload() problem

Hvis jeg har et frameset med to rækker i :
række1
------
række2
I række1 er der et frameset med to colonner
col1 | col2
i col1 er der et frameset med to rækker
række3
------
række4

hvis jeg i række2.col2 har kaldt en side som kalder en anden side, som opdatere noget i række2.col1.række3. Efter denne opdatering. Vil jeg gerne opdatere feltet og derefter lukke denne opdaterings side.
Jeg har prøvet:
<script type="text/javascript">
// <!--
parent.række3.location.reload();
self.close();
// -->
</script>
Avatar billede web_freak Nybegynder
03. juni 2005 - 14:45 #1
Der er objekt diagrammet som er et problem jeg kan ikke ramme min frame...
Avatar billede kargo1 Nybegynder
03. juni 2005 - 18:41 #2
Måske bliver det lettere, hvis dine referencer tager udgangspunkt i top.
Avatar billede psykochicken Nybegynder
04. juni 2005 - 01:10 #3
jeg går ud fra at du har et frameset i stil med:
<frameset rows="*,*">
  <frame name="række1" src="side1.html">
  <frameset cols="*,49%">
    <frameset rows="*,49%">
      <frame name="række3" src="side2.html">
      <frame name="række4" src="side3.html">
    </frameset>
    <frame name="col2" src="side4.html">
  </frameset>
</frameset>

og fra col2 vil du gerne opdatere række3:
<noget.....onclick="parent.række3.location.reload(true);">

Er det så siden, der vises i col2 du gerne vil lukke ?? - og hvad skal vises i stedet ?
Avatar billede roenving Novice
04. juni 2005 - 14:03 #4
Hvis det er en popup, skal det være sådan:

onclick="opener.parent.raekke3.location.reload(true);self.close();"

-- og måske skal man sætte en lille timeout på lukningen, så man er sikker på at reloaden er færdiginitialiseret !-)
Avatar billede psykochicken Nybegynder
04. juni 2005 - 17:42 #5
og som roenving antyder bør du undgå æ,ø og å i navnene ;)
Avatar billede roenving Novice
05. juni 2005 - 06:16 #6
-- ja, de er simpelthen ugyldige med den slags tegn !-)
Avatar billede web_freak Nybegynder
08. juni 2005 - 11:26 #7
strukturen ser således ud:

<FRAMESET rows="26,*">a
row1a "Weblink"
row2a "Smain" har <FRAMESET cols="26,*">b
col1b Weblink2 <FRAMESET rows="26,*">c
col2b s2
row1c "Weblink3"
row2c "s3"

col2b s2 åbner et nyt vindue(d) som åbner endnu et vindue(e), Dette vindue(e) skal lukke og opdatere vinduet(row1c Weblink3)
Avatar billede web_freak Nybegynder
08. juni 2005 - 11:31 #8
Det vindue som skal opdateres er en del af frameset strukturen, og det vindue som skal lukke skal lave opdateringen før det lukker sig selv.
Avatar billede roenving Novice
08. juni 2005 - 13:50 #9
-- hvis du opretter alle frames i samme frameset-fil, skal du nok:

onclick="opener.top.raekke3.location.reload(true);self.close();"
Avatar billede web_freak Nybegynder
08. juni 2005 - 14:08 #10
Jeg har lavet individuelle framesets nu , hvor dan ser det ud hvis jeg vil lave et....
Det skal helst være automatisk når siden er læst ind og ikke onclick.
Avatar billede psykochicken Nybegynder
08. juni 2005 - 16:34 #11
Ah...2 x popup. Så kan du bruge:
onclick="opener.opener.parent.raekke3.location.reload(true);setTimeout('self.close()',5000);"
Hvis det skal ske automatisk, så brug onload="....samme kode...".
Hvis det først skal ske efter siden er indlæst, så sæt en timeout på din reload.
Avatar billede roenving Novice
08. juni 2005 - 16:38 #12
Det er smartest at have alle frames i samme fil, da du så fra top kan fange alle frames, hvis du har hver sit frameset i hver sin fil skal du navigere langsomt igennem dem, f.eks. top.frameset1.frameset2.frameset3.frame.location osv. !-)
Avatar billede web_freak Nybegynder
17. juni 2005 - 11:18 #13
Det er ikke så nemt, jeg har prøvet at skitsere her hvorfor:(et samlet frameset vil ses nogenlunde således ud)
<html>
<head>
<title>vipom.dk</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="shortcut icon" href="/favicon.ICO">
</head>

<frameset rows="26,*" border=0 name="top">
    <frame src="../ads/aspst.asp" NORESIZE scrolling=NO name="Weblink7">
    <frameset cols="400,*" name="Smain" border="0" framespacing="0" frameborder="NO">
    <!-- denne skifter afhængigt af weblink7, men som default er den <FRAME src="../ads/maintom.asp" NORESIZE name="Smain"> -->
        <frameset rows="330,*" border="0" NORESIZE name="Weblink2" framespacing="0" frameborder="NO">
    <!-- skifter mellem en frame og et frameset afhængigt af valg af Smain -->
        <frame src="../test/dump2adm.asp" NORESIZE name="Weblink3">
        <frame src="../test/dump4.asp" NORESIZE name="s3">
        <frame name="s2">
    <!-- denne skifter afhængigt af frame Weblink2 -->
    </frameset>
</frameset>

<noframes><body bgcolor="#FFFFFF" text="#000000">
<b><font face="Verdana, Arial, Helvetica, sans-serif">Din browser understøtter ikke frames! </font></b>
</body>
</noframes>
</html>

Så alle de forskellige frames og framesets ved jeg ikke om det så virker
Avatar billede web_freak Nybegynder
17. juni 2005 - 11:19 #14
Jeg har prøvet denne, det virker ikke.
onload="opener.opener.parent.raekke3.location.reload(true);setTimeout('self.close()',5000);"
Avatar billede roenving Novice
17. juni 2005 - 11:34 #15
Du har jo heller ikke en frame med navnet raekke3 ...

onload="opener.opener.top.FRAMENAVNPaaDenFrameSomSkalReloades.location.reload(true);setTimeout('self.close()',5000);"
Avatar billede web_freak Nybegynder
17. juni 2005 - 14:59 #16
Jeg har prøvet:
opener.opener.top.Weblink3.location.reload(true);
opener.opener.top.parent.Weblink3.location.reload(true);
opener.opener.parent.Weblink3.location.reload(true);

det virker ikke...
Avatar billede psykochicken Nybegynder
23. juni 2005 - 02:18 #17
Har du fået det til at virke ?
..ellers smid din fulde kode til det frameset du bruger.
Avatar billede web_freak Nybegynder
01. juli 2005 - 11:23 #18
Det er stadig ikke løst.
Jeg prøver lige igen.

jeg har en side:
-----------------
|    a    |
-----------------
|    |    |
|    |    |
|  b    |    |
|    |    |
|    |  d    |
|_______|    |
|    |    |
|    |    |
|  c    |    |
|    |    |
|    |    |
-----------------
b+c+d = e

a har link som åbner e med forskellige framesets.
d åbner en ny vindues side(for at gemme) denne vindues side åbner en ny vindues side(hvor den gemmer i en db), denne side skal opdatere b og lukke sig selv. Den lukker sig selv men den reloader ikke b(Weblink3).
Hjæææææææææælp..........
Avatar billede web_freak Nybegynder
01. juli 2005 - 11:25 #19
Det er stadig ikke løst.
Jeg prøver lige igen igen(lidt pænere).

jeg har en side:
-----------------
|      a      |
-----------------
|      |      |
|  b  |      |
|      |  d  |
|_______|      |
|      |      |
|      |      |
|  c  |      |
|      |      |
|      |      |
-----------------
b+c+d = e

a har link som åbner e med forskellige framesets.
d åbner en ny vindues side(for at gemme) denne vindues side åbner en ny vindues side(hvor den gemmer i en db), denne side skal opdatere b og lukke sig selv. Den lukker sig selv men den reloader ikke b(Weblink3).
Hjæææææææææælp..........
Avatar billede web_freak Nybegynder
01. juli 2005 - 11:27 #20
-----------------
|      a      |
-----------------
|            |            |
|  b        |            |
|            |  d        |
|-------|                  |
|            |            |
|            |            |
|  c        |            |
|            |            |
|            |            |
-----------------
Avatar billede web_freak Nybegynder
01. juli 2005 - 12:03 #21
jeg ved ikke hvor god illustrationen er, men:
b og c er et framesets, a og d er en frames.
Avatar billede psykochicken Nybegynder
01. juli 2005 - 17:05 #22
fin tegning :0)
Ok - jeg vover det ene øje...igen ;)
1. ramme_e er parent til ramme_b, ramme_c og ramme_d.
2. ramme_d er opener af popup_1.
3. popup_1 er opener af popup_2 (hvis du altså bruger window.open('popup_2.html'......))

Hvis du fra popup_1 åbner popup_2 med window.open('popup_2.html',......) skal koden have 2 gange 'opener' - sådan:
onload="opener.opener.parent.ramme_c.location.reload(true);setTimeout('self.close()',5000);">

Hvis du fra popup_1 åbner popup_2 med window.location="popup_2.html" skal koden blot have én gang 'opener' - sådan:
onload=".opener.parent.ramme_c.location.reload(true);setTimeout('self.close()',5000);">

Hvis dette ikke virker bliver du altså nødt til at smide din kildekode eller lægge et link.
Avatar billede psykochicken Nybegynder
01. juli 2005 - 18:40 #23
og fjern lige punktummet efter onload=". !-)
Avatar billede web_freak Nybegynder
08. juli 2005 - 12:33 #24
Den ramme_d åbner med er
window.open('','p','width=269,height=135,resizable=no,scrollbars=no')
som benytter:
<form target="p" action="dump3.asp?example=true" method="post" name="frm_html" style="display: none;"><input type="hidden" name="style"><input type="hidden" name="html"></form>

popup_1 åbner popup_2 med <form action="dump2.asp?example=true" method="post">
men ellers var det rigtigt det du havde fået ud af mine oplysninger.
Avatar billede web_freak Nybegynder
14. juli 2005 - 12:19 #25
Avatar billede olebole Juniormester
14. juli 2005 - 14:12 #26
<ole>

Et dokument, der åbnes i en (i)frame har ingen 'opener' property ... uanset, om det er åbnet med window.open()

Det eneste, man kan adressere det 'fædrende' window-objekt med, er 'parent' ... og 'parent.parent', hvis du skal op og have fat i 'farfar'  :)

/mvh
</bole>
Avatar billede psykochicken Nybegynder
14. juli 2005 - 21:26 #27
>>web_freak - Jeg forstår funktionaliteten sådan: http://myplayhouse.dk/frames/
Hvis det er tilfældet skal du bruge:
onload="opener.parent.Weblink.Weblink3.location.reload(true);setTimeout('self.close()',10000);"
Hvis den stadig ikke opdaterer siden i "Weblink3" skal du nok kigge på den funktion der skal gemme tilføjelserne.

>>ole - der er vel heller ingen, der har påstået at et dokument, der åbnes i en (i)frame har en 'opener'property. ?-)
Avatar billede olebole Juniormester
14. juli 2005 - 22:10 #28
Okay ... så havde jeg misforstået spørgsmålet. Jeg troede, der blev åbnet et dokument i en frame med window.open  ;o)
Avatar billede psykochicken Nybegynder
14. juli 2005 - 22:44 #29
hehe...jeg håber bare jeg har forstået det :o)
Avatar billede web_freak Nybegynder
20. juli 2005 - 15:29 #30
Nu har jeg prøvet.... Uden held:
<body bgcolor="#d9d5be"; onLoad="opener.parent.Weblink.Weblink3.location.reload(true);countdown();">
Siden Weblink3 opdateres ok, hvis jeg højre klikker på den side og vælger opdat, så er ændringen registreret.
HHHHHHHHHHHjJJJJJJJJJææææææææællllllllppppppppppp............
Avatar billede web_freak Nybegynder
15. november 2005 - 13:55 #31
Ingen svar som 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