13. maj 2003 - 21:22Der er
30 kommentarer og 1 løsning
Åben url og opdater parent window
Hej,
I mit parent vindue har jeg et link og hvis man klikker på dette link, skal jeg åbne en popup med en url på en anden server og køre en asp-side hvorefter vinduet skal lukkes og parent-vinduet skal opdateres. Hvordan ???
Hvis det kan lade sig gøre at køre asp-filen fra den anden server uden at jeg skal åbne en popup vil jeg helst det, men hvis ikke det kan lade sig gøre uden en popup, er det også ok.
Jeg har en administrations-side med en pris i et input-felt. Prisen hentes fra en database. Databasen opdateres fra en anden server x antal gange i døgnet, så jeg vil lave et link, så man med det samme kan få opdateret databasen med en ny pris. Så for at opdatere databasen, kræves det at jeg åbner en url på en anden server end der hvor mit parent-vindue er, og dette vil jeg jo helst gøre så brugeren ikke opdager det. Min første idé var at åbne en popup som opdaterer databasen - når dette var gjort lukkede popup'en automatisk og opdaterede samtidig parent-vinduet, så brugeren kunne se at den nye pris var hentet.
En anden mulighed er at bruge master-d's løsning: <a href="#" onclick="window.open('url.html','win1','');parent.location.reload();"> Hvis altså man kan sætte forsinkelse på reload parent? Kan man det? For så kan popup'en nå at loade.
Ehhhh ...... hvad så den dag, der er lidt meget trafik på serveren? Eller hvad med brugeren med en dårlig forbindelse? Hvordan opdaterer han siden? Timeouts på den slags ting bør _altid_ undgåes ... det kan næsten kun gå galt. Du kan sagtens gøre det andet - jeg tror bare, du har misforstået et eller andet :)
eneste anke der kunne være er at man kan være uhedig at asp-scriptet ikke når at køre på den fastsatte tid!..så for din egen og brugernes skyld må vi hellere udbygge det lidt
Det er helt fint som det er, for det er kun en midlertidig løsning til alle sider kommer til at ligge på samme server, for så kan jeg bruge det oprindelige javascript.
men lige for en ordens skyld :), har jeg lige udviddet det lidt så siden hvor du åbner popuppen fra hele tiden står og checker om den er lukket, på den måde er man altid sikret at asp'n er færdig inden, man reloader parent:)
siden hvor du åbner poppen:
<script type="text/javascript"> function hest() { if (pops.closed) { location.reload('fil.html'); }else{ setTimeout("hest();", 2000);} }
function hund(){ pops = window.open('url.html','win1','height=200 width=200'); setTimeout("hest();", 2000); } </script>
<a href="#" onclick="hund();">Klik</a>
i bunden af siden hvor du kører ASP'n skal der bare tilføjes
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.