/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Lukning af vinduer med Javasript
Fra : Per H. Jørgensen


Dato : 17-10-06 15:30

Hej,
i 1.php åbner jeg et vindue:

var myWindow = window.open ("2.php", "mitvindue");
1.php indeholder desuden en formular, hvor action er kald af
3.php.

Fra 3.php vil jeg gerne lukke myWindow med

myWindow.close();

men den går ikke - den kendes tilsyneladende ikke i 3.php (får
fejlen: "myWindow er null eller ikke et object"). Det er måske
logisk nok, men kan jeg alligevel referere til myWindow i 3.php
på en eller anden måde. Har prøvet forskellige variationer med
"top, parent, window etc." uden held.

Tak!

/Per


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Martin Mouritzen (17-10-2006)
Kommentar
Fra : Martin Mouritzen


Dato : 17-10-06 21:43

On 17 Oct 2006 14:29:32 GMT, Per H. Jørgensen <p-h-j@privat.dk> wrote:

>men den går ikke - den kendes tilsyneladende ikke i 3.php (får
>fejlen: "myWindow er null eller ikke et object"). Det er måske
>logisk nok, men kan jeg alligevel referere til myWindow i 3.php
>på en eller anden måde. Har prøvet forskellige variationer med
>"top, parent, window etc." uden held.

Jeg kender ikke lige til nogen måde du nemt kan få fat på vinduet, men
du kan gøre det ved at bruge det vindue du har åbnet, den kender
nemlig hele tiden sin parent.

Jeg har lavet et eksempel til dig her:
http://siteloom.dk/~martin/windows/

Oprindeligt troede jeg at man kunne gøre det nemt, ved at lytte på
f.eks. "window.onload" eventen på window.opener, men det ser ikke ud
til at der er en nem måde.

Det jeg gør nu er at checke hvert halve sekund om det vindue der har
åbnet det nye vindue har skiftet titel. hvis vinduet har skiftet titel
sætter jeg en variabel "childWindow" på det som indeholder en
reference til det åbnede vindue, dén variabel kan så bruges til at
lukke vinduet med.

Jeg har prøvet at dokumentere koden (bare se kilden for siderne) så du
nemt kan finde ud af hvad der sker.
--
Med venlig hilsen,
Martin Mouritzen.
http://www.siteloom.dk

Thomas Fagerholt (18-10-2006)
Kommentar
Fra : Thomas Fagerholt


Dato : 18-10-06 07:19

> i 1.php åbner jeg et vindue:
>
> var myWindow = window.open ("2.php", "mitvindue");
> 1.php indeholder desuden en formular, hvor action er kald af
> 3.php.
>
> Fra 3.php vil jeg gerne lukke myWindow med
>
> myWindow.close();
>
> men den går ikke - den kendes tilsyneladende ikke i 3.php (får
> fejlen: "myWindow er null eller ikke et object"). Det er måske
> logisk nok, men kan jeg alligevel referere til myWindow i 3.php
> på en eller anden måde. Har prøvet forskellige variationer med
> "top, parent, window etc." uden held.
>

Du kan genskabe dit object på 3.php ved at lave en ny window.open som pejer
på samme vindue (anden parameter). Du behøver ikke angive en url. Det er
testet i IE6 og FF.

var myNewWindow = window.open ("", "mitvindue");
myNewWindow.close();

Mvh
Thomas Fagerholt
www.ProfilEdit.dk
CMS for alle



Erik Ginnerskov (18-10-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 18-10-06 22:54

Thomas Fagerholt wrote:

> Du kan genskabe dit object på 3.php ved at lave en ny window.open som
> pejer på samme vindue (anden parameter). Du behøver ikke angive en
> url. Det er testet i IE6 og FF.

Har du i din FF lavet en blokering for selvåbnende popup-vinduer? Jeg tror,
en sådan blokering vil spærre for din ellers fikse funktion.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Thomas Fagerholt (19-10-2006)
Kommentar
Fra : Thomas Fagerholt


Dato : 19-10-06 07:56

> Har du i din FF lavet en blokering for selvåbnende popup-vinduer? Jeg
> tror, en sådan blokering vil spærre for din ellers fikse funktion.

Hej Erik
Tak for din kommentar. Jeg havde lavet det direkte i filsystemet og dermed
ikke gennem en webserver. Dette gør at det kører under mere restriktive
rettigheder og jeg havde slået popup-blokeringen fra for at kunne åbne
vinduet i første omgang.
Jeg har nu prøvet at køre det gennem en webserver og det virker på
forunderlig vis i FF 1.0.7 Jeg havde faktisk regnet med at
popup-killeren havde stukket en kæp i hjulet, men det virker. Det må være
fordi det ikke er et nyt vindue, men bare genskabelse af en reference til et
allerede åbent vindue.

Mvh
Thomas Fagerholt
www.ProfilEdit.dk
CMS for alle



Per H. Jørgensen (19-10-2006)
Kommentar
Fra : Per H. Jørgensen


Dato : 19-10-06 08:54

Hej Martin, Thomas og Erik,
tusind tak for jeres input - jeg prøver det af!

Tak!

/Per

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste