/ 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
lukke popupvinduer efter mig ?
Fra : Chrisser


Dato : 17-01-03 10:31

Hej

Hovedspørgsmål:
Jeg har nogle sider der åbner nogle popup-vinduer, jeg vil gerne have dem
lukket når jeg forlader den side der har åbnet dem. Hvordan tester jeg på
det ?

Tillægsspørgsmål:
Popupvinduerne er nogle brugerne selv åbner, disse skal kunne kaldes op
foran hver gang brugeren klikker på knappen. Det virker fint på den ene
side, men slet ikke på den anden side. Ved klik på knappen kalder jeg
wizard(), hvis vinduet i forvejen er åbnet, burde det så ikke blive kaldt i
front ?
Eks:
function wizard() {
var settings= "toolbar=no,location=no,directories=no,"+
"status=no,menubar=no,scrollbars=no,resizable=yes, top=100, left=100,
height=300,width=540";
window.open('/../wizard.asp','wizard',settings);
}

Men her sker det intet hvis vinduet ligger minimeret....

MVH
Chrisser




 
 
Lasse Reichstein Nie~ (17-01-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 17-01-03 11:21

"Chrisser" <cbj@egdatainform.dk> writes:

> Hej
>
> Hovedspørgsmål:
> Jeg har nogle sider der åbner nogle popup-vinduer, jeg vil gerne have dem
> lukket når jeg forlader den side der har åbnet dem. Hvordan tester jeg på
> det ?

Tester på om hvødsiden bliver lukket?
Brug en handler for "unload" eventen, fx tilføj til body-tagget:

<body ... onunload="lukPopups()">

og lav så en javascript-funktion, lukPopups, der lukker de åbne vinduer.
Du skal altså huske vinduerne når du åbner dem (det objekt der returneres
af window.open) for at kunne kalde deres close-metode.

> Tillægsspørgsmål:
Kan jeg ikke lige svare på.
--
Lasse Reichstein Nielsen - lrn@hotpop.com
'Faith without judgement merely degrades the spirit divine.'

Chrisser (17-01-2003)
Kommentar
Fra : Chrisser


Dato : 17-01-03 11:22

"Lasse Reichstein Nielsen" <lrn@hotpop.com> skrev i en meddelelse
news:1y3cxejv.fsf@hotpop.com...
> Tester på om hvødsiden bliver lukket?

Nej på hvilke vinduer jeg skal lukke.

> Brug en handler for "unload" eventen, fx tilføj til body-tagget:
>
> <body ... onunload="lukPopups()">
>
> og lav så en javascript-funktion, lukPopups, der lukker de åbne vinduer.
> Du skal altså huske vinduerne når du åbner dem (det objekt der returneres
> af window.open) for at kunne kalde deres close-metode.

Hvordan ?
Jeg kan da godt sige: var vindue = window.open(.......
- men hvordan ved jeg så om jeg har det objekt - altså om vinduet er blevet
åbnet ?

Jeg havde håbet på at der fandtes noget a la' window.*childvinduer*...

> > Tillægsspørgsmål:
> Kan jeg ikke lige svare på.

OK


Chrisser


Lasse Reichstein Nie~ (17-01-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 17-01-03 11:36

"Chrisser" <cbj@egdatainform.dk> writes:

> Hvordan ?
> Jeg kan da godt sige: var vindue = window.open(.......
> - men hvordan ved jeg så om jeg har det objekt - altså om vinduet er blevet
> åbnet ?

Det har du jo lige gjort :)
Men, for at se om et vindue stadig er åbent, så bruges vindue.closed , der
er true når vinduet er lukket.

Jeg forestiller mig noget i stil med

<script type="text/javascript">
var myWindows = new Array();

function myOpen(u,n,s) {
var w=window.open(u,n,s);
myWindows.push(w);
return w;
}

function myCloseAll() {
for (var w in myWindows) {
if (! w.closed) w.close();
}
}
</script>

brug myOpen i stedet for window.open, og myCloseAll til at lukke alle vinduer
du selv har åbnet, og som stadig er åbne.

(Advarsel: Utestet kode skrevet direkte i news-klienten, alt kan ske!)

> Jeg havde håbet på at der fandtes noget a la' window.*childvinduer*...

Det kan være der gør, jeg kender den desværre ikke.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
'Faith without judgement merely degrades the spirit divine.'

Chrisser (17-01-2003)
Kommentar
Fra : Chrisser


Dato : 17-01-03 11:36

"Lasse Reichstein Nielsen" <lrn@hotpop.com> skrev i en meddelelse
news:smvsvzb9.fsf@hotpop.com...
> "Chrisser" <cbj@egdatainform.dk> writes:
>
> > Hvordan ?
> > Jeg kan da godt sige: var vindue = window.open(.......
> > - men hvordan ved jeg så om jeg har det objekt - altså om vinduet er
blevet
> > åbnet ?
>
> Det har du jo lige gjort :)

Nej, lige nu returnerer jeg ikke et objekt

> <script type="text/javascript">
> var myWindows = new Array();
>
> function myOpen(u,n,s) {
> var w=window.open(u,n,s);
> myWindows.push(w);
> return w;
> }
>
> function myCloseAll() {
> for (var w in myWindows) {
> if (! w.closed) w.close();
> }
> }
> </script>

Nu har jeg set lyset...
Tester det fluks - Takker


Chrisser


Chrisser (17-01-2003)
Kommentar
Fra : Chrisser


Dato : 17-01-03 11:46

"Chrisser" <cbj@egdatainform.dk> skrev i en meddelelse
news:b08mfg$4ee$1@sunsite.dk...
> Tester det fluks - Takker

Men den fejler i:
for (var w in myWindows) { // denne linie siger den....
if (! w.closed) w.close();
}
"Objektet understøtter ikke denne egenskab eller metode"

- jeg kan huske at jeg før har prøvet at teste på closed-egenskaben i
forbindelse med et popupvindue, der fejlede den også.....

Chrisser


Lasse Reichstein Nie~ (17-01-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 17-01-03 12:08

"Chrisser" <cbj@egdatainform.dk> writes:

> Men den fejler i:
> for (var w in myWindows) { // denne linie siger den....
> if (! w.closed) w.close();
> }
> "Objektet understøtter ikke denne egenskab eller metode"

Doh! Den fejl laver jeg for tit.
Det var linjen efter (aldrig til at vide om de tæller fra 0 eller 1 :)).
Prøv:

for (var i in myWindows) {
if (! myWindows[i].closed) myWindows[i].close();
}

Javascript er ikke Perl! Jeg *må* lære at huske det engang :)
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
'Faith without judgement merely degrades the spirit divine.'

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

Månedens bedste
Årets bedste
Sidste års bedste