|
| 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.'
| |
|
|