03. juni 2005 - 14:44Der 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>
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 ?
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.
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.
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. !-)
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>
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..........
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..........
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.
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.
>>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. ?-)
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............
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.