04. juli 2001 - 14:28
Der er
30 kommentarer og
1 løsning
Reload og popup
Hej
jeg har et dokument, der er delt op i frames. Der udover popper der et pop up vindue op. Når brugeren klikker på en knap i popup\'en skal topframen (LogoFrame) i det andet dokument reloades.
Jeg har brugt denne kode:
onClick=\"window.opener.parent.frames[\'LogoFrame\'].location.reload();\"
men det virker kun nogen gange.
Er der nogen der har et forslag til noget andet og mere stabilt.???
Venlig hilsen Mariah
parent.opener.document.frames[\'LogoFrame\'].location.reload();
/nute
Din kode er perfekt og burde virke hver gang.
en mulighed er at indholdet i rammen LogoFrame kommer fra en anden server nu og da, så du ikke har lov at strække nallerne derind med javascript.
Nae ikke totalt perfekt. reload() bør kaldes med en boolean parameter
xxxxxxxxxxxx.location.reload(false); // reload fra cashe
xxxxxxxxxxxx.location.reload(true); // reload fra server;
hvis fejlen bare er at der ikke opdateres kunne det være det.
mvh JakobA
<ole>
Hvilken poetisk måde at beskrive \'Same Origin Policy\' på, jakoba.....I like that...! :oD
/mvh
</bole>
Kan det have noget at gøre med at der når man klikker på knappen samtidig popper et til vindue op?
Jeg kunne egentlig godt tænke mig at det vindue der klikkes i, bliver lukket, samtidig med at det andet vindue popper op og topframen opdateres i den bagvedliggende side.
måske. kan vi få se resten af koden?
Findes der ikke bare en kode man kan sætte ind, der gør det jeg skrev før?
Men her er noget af koden.
<tr>
<td><span class=\"normtext\">Vent med at tryk \'Bestil\' til billedet er ændret.</span></td>
<td align=\"right\" width=\"60\"><A href=\"#\" onClick=\"window.open(\'
http://#URL_AddToBasket\', \'basket\', \'width=680,height=395,resizable=yes,scrollbars=yes\');window.opener.parent.frames[\'LogoFrame\'].location.reload();\" onfocus=\"this.blur()\"><IMG SRC=\"#StoreImagePath/SiteImages/Common/bestil_knap.gif\" alt=\"Bestil\" border=\"0\" width=\"33\" height=\"14\"></a></td>
</tr>
prøv at skrive dit link om til:
<A href=\"java script:void(0)\" onClick=\"window.open(\'
http://#URL_AddToBasket\', \'basket\', \'width=680,height=395,resizable=yes,scrollbars=yes\'); window.opener.parent.frames[\'LogoFrame\'].location.reload();\" onfocus=\"this.blur()\">
dvs \"java script:void(0)\" i href
of fjerne blanktegn efter #URL_AddToBasket
lidt usikker på den der URL:
http://#URL_AddToBasketdet er ikke standard. kan du fylde den ud med den fulstændige adresse? eller fjerne http://
mvh JakobA
of fjerne blanktegn efter #URL_AddToBasket
Hvad er det du har fjernet???
Det er meget morsomt - næ, det er det faktisk ikke - men det virker bedre end alt hvad jeg har prøvet tidligere, men ikke 100%.
04. juli 2001 - 15:15
#10
Kan manikke sætte noget kode ind, der gør at når man klikker på knappen, så lukker det pop up vindue?
04. juli 2001 - 15:21
#11
<ole>
Ligger det link i din popUp eller i dit hovedvindue? Hvis det ligger i hovedbrowseren, skal der vist bare stå:
<A href=\"java script:void(0)\" onClick=\"window.open(\'
http://#URL_AddToBasket\', \'basket\', \'width=680,height=395,resizable=yes,scrollbars=yes\');parent.frames[\'LogoFrame\'].location.reload();\" onfocus=\"this.blur()\">
/mvh
</bole>
04. juli 2001 - 15:24
#12
Ahaaahhhhh....TO popUp\'s :o))
<A href=\"java script:void(0)\" onClick=\"window.open(\'
http://#URL_AddToBasket\', \'basket\', \'width=680,height=395,resizable=yes,scrollbars=yes\'); window.opener.parent.frames[\'LogoFrame\'].location.reload();top.close()\">
04. juli 2001 - 15:24
#13
Hej Ole
Lad mig lige sige at du bare har det sejeste brugernnavn.
Linket ligger i pop uppen.
<!-- mariah -->
04. juli 2001 - 15:25
#14
hvad betyder \'top.close\'.
Det popup der skal lukkes er det hvor der opgså bliver reloadet fra.
04. juli 2001 - 15:33
#15
*taaaaaak* :o)
top.close() betyder luk det øverste vindues-objekt. En frame er også et vindues-objekt, så hvis du skriver this.close() på en side, der er loaded i et frameset, vil du forsøge at lukke den frame, dokumentet ligger i. Skriver du i stedet top.close(), vil du lukke det øverste vindues-objekt: vinduet.
Du vil altså forsøge at lukke det popUp-vindue top.close() er skrevet i - og det var vist meningen ;o)
/mvh
04. juli 2001 - 15:37
#16
Ha ha - lækkert. det dér top.close virkede.
Jeg tror du har reddet meget af min dag - alt er gået galt UNDTAGEN top.close :)
Du er en sand guttermand.
Har du nogen idé om hvorfor det andet kun virker nogen gange??
04. juli 2001 - 15:48
#17
Nej, det lyder zq mærkeligt...!?!?
Du må gerne sende mig en URL, så jeg kan se lidt på det. Jeg har lige et arbejds-ryk på en time eller to, men derefter kan jeg se på det. Du kan klikke på mit brugernavn og finde min mail-adresse, hvis du ikke vil have URL\'en op at hænge her :o)
/mvh
04. juli 2001 - 15:50
#18
når jeg kopierer det kode du postede over i notepad kommer der et blanktegn foran den afsluttende \' .
\'
http://#URL_AddToBasket \'
det er næppe sundt.
04. juli 2001 - 16:11
#19
Hmmmmm.....den kan jeg ikke reproducere, jakoba. Mener du en \'firkant\'.......et tegn, som Windows ikke kan hamle op med, eller hvad?
04. juli 2001 - 16:15
#20
Det kommer som et regederligt blanktegn. både i webwriter og i notepad.
kan også være noget med eksperten.dk\'s parser sammen med at jeg kikker i NS6.
kopiering til notepad fra der du har skrevet det samme (olebole 04/07 2001 15:24:23) giver IKKE noget blanktegn.
04. juli 2001 - 16:20
#21
Ahaaaa....now I see it :o)
Et mellemrum mellem
http://#URL_AddToBasket og det efterfølgende gåseøje. Det er en ren NS6-ting. Fås ikke i NS4.x eller IE.
/mvh
04. juli 2001 - 16:42
#22
Jeg har også en input type:
<input type=\"image\" src=\"#StoreImagePath/SiteImages/Common/opdater.gif\" width=\"45\" height=\"14\" onClick=\"window.opener.parent.frames[\'LogoFrame\'].location.reload();\" style=\"border-style: none;\"></TD>
- den virker heller ikke. Er det fordi der mangler void(0)? Hvordan sætter jeg det ind i et input sætning?
04. juli 2001 - 16:55
#23
Som du har gjort. der er noget helt andet galt et sted vi skal have fundet.
er det korrekt at du har
frameset fil med
frame LogoFrame
frame enandenramme
og at
frame enandenframe har åbnet
popopvindue med det link og den input kommando
?
04. juli 2001 - 16:56
#24
Ups..... type=\"image\" tager ikke en onclick-handler. Du skal lave det som et alm. link, der omkranser et billede:
<a href=\"java script:void(0)\" onclick=\"window.opener.parent.frames[\'LogoFrame\'].location.reload();document.formNavn.submit();\"><img src=\"#StoreImagePath/SiteImages/Common/opdater.gif\" width=\"45\" height=\"14\" border=\"0\"></a>
/mvh
04. juli 2001 - 17:03
#25
er det korrekt at du har
frameset fil med
frame LogoFrame
frame enandenramme
og at
frame enandenframe har åbnet
popopvindue med det link og den input kommando
?
en andeframe har åbnet popup med alm. knap m. reload-funktion. Denne knap åbner endnu et popup, og lukker sig selv.
I det nye vindue er et input type=\"image\" (resten ovenfor), men reload virker ikke på frame LogoFrame.
Det er sådan det er.
04. juli 2001 - 17:06
#26
Semantikken ved en input type=\"image\" er lidt besynderlig. \'onclick\'-handleren fungerer visse steder, men ikke alle. Prøv generelt at undgå denne input-type og brug et link\'et billede. Det fungerer som regel bedst :o)
04. juli 2001 - 17:07
#27
Så skal vi da vist have opener.opener for at komme tilbage til \"enandenramme\"
window.opener.opener.parent.frames[\'LogoFrame\'].location.reload()
men stien går igennem et vindue der er lukket. Det går ikke nødvendigvis godt.
04. juli 2001 - 17:09
#28
Kan du ikke godt sende en URL eller hænge den op her? Så er det meget nemmere at hjælpe :)
04. juli 2001 - 17:12
#29
Lad være med at lukke popUp\'en fra popUp\'en selv. Gør det derimod fra popUp\'ens popUp :o)
Altså, skal du i 2. popUp f.eks. skrive:
window.opener.opener.parent.frames[\'LogoFrame\'].location.reload();
window.opener.top.close();
04. juli 2001 - 17:18
#30
Klokken er 17.20 og jeg er nød til at smutte, men jeg vender tilbage senere.
Sez.
08. juli 2001 - 21:03
#31
Hvis du skal arve i to generationer og udrydde den mellemliggende generation i mellemtiden har du da et problem -- men hvad med:
at oprette den oprindelige opener.parent som variabel i det nyeste vindue, før du lukker den mellemværende pop-up. Altså skal du i HEAD\'eren i det sidste pop-up-vindue oprette en variabel i Javascript, som bruger oleboles idé med window.opener.opener.parent til at oprette variablen, så kan du senere kalde
startvindue.frames[\'LogoFrame\'].location.reload();
Når du så har oprettet variablen startvindue, kan du sagtens kalde window.opener.close();
hth
jes
Vi tilbyder markedets bedste kurser inden for webudvikling