29. maj 2002 - 13:44 Der er 5 kommentarer og
2 løsninger

window.close() self.close()

Hej,

jeg kender næsten ikke til Javascript.

se her: http://enter-s.dk/messe/ lavede jeg den PopUp ting som er på ex. Butiksindretning.

Åbner du et popup skal du klikke på billede for at lukke det, da jeg brugt window.close() lukkede den men når jeg kørte mussen hen over et link som linker til et popup vindue blinker det (IE 6 og ikke kun min). Siden bliver forskudt. Jeg prøvede at ændre det til self.close(), og syntes ikke rigtig jeg kan få den fremprovokeret igen kan i?

ellers er jeg kommet frem til nogle andre ide'er hvad det kunne skyldes.

1. min måde jeg åbner det på href="java script:MessePic...

2. Der var tilfældigvis for lidt ram tilbage, og IE skaber sig?

3. Hvis i ser siden er det en stor side som styres af Javascript, måske derfor?

4. Min funktion der er noget i vejen med?
function MessePic(adresse, hojde, bredde) {
window.open(adresse, 'dowes', 'height=' + hojde + ',width=' + bredde + ', location=no, status=no, top=101, left=101, screeny=101, screenx=101');
}

5. Bare fordi jeg ændrede window.close() til self.close()?

Hjælp mig :)

/Casper
Avatar billede helle_fred Nybegynder
29. maj 2002 - 13:56 #1
Det problem jeg kan se, er at popupvinduerne engang imellem forsvinder ind bagved hovedvinduet - altså mister fokus, og at det herefter opleves som om man ikke kan få et nyt popupvindue til at åbne sig. Det kan man nu godt - det ligger bare skjult bagved. I popup-vinduets fil skal du indsætte en eventhandler, som lukker vinduet, når det kommer ud af fokus:
<body onBlur="self.focus()">

Så er man nødt til at lukke vinduet eksplicit før det forsvinder. Du kan også lave én, der lukker vindet, hvis det kommer ud af fokus:

<body onBlur="self.close()">

vh Helle
Avatar billede helle_fred Nybegynder
29. maj 2002 - 13:59 #2
vrøvl: det første eksempel sørger for at fokusere popupvinduet igen, hvis det kommer ud af fokus - det andet lukker, hvis det sker....
Avatar billede =maddog= Nybegynder
29. maj 2002 - 18:20 #3
casper. du skal lave det som en modalessdialog og ikke et nyt vindue. du åbner jo ikke en nye side vel?

prøv det her:
function popOnTop(url,mwidth,mheight){
if (document.all&&window.print) //if ie5
window.showModelessDialog(url,"","help:0;resizable:1;dialogWidth:'+mwidth+'px;dialogHeight:'+mheight+'px")
else
window.open(url,"","width='+mwidth+'px,height='+mheight+'px,resizable=1,scrollbars=1,dependent=1")
}
Avatar billede =maddog= Nybegynder
29. maj 2002 - 18:21 #4
well, glemte at kalde den MessePic, men det løser vist alle dine problemer.
Avatar billede =maddog= Nybegynder
29. maj 2002 - 18:23 #5
du skal nok også lige sætte resizable til 0 begge steder. kæft hvor det kører.
29. maj 2002 - 22:36 #6
okay det reele problem var at img linksene, åbenbart skulle inkapsles af et block element. Det blink stadigvæk, det kan bar ikke ses mere.

Det andet vil jeg prøve at se på.

Tak!
Avatar billede =maddog= Nybegynder
29. maj 2002 - 22:39 #7
det er faktisk ret smart. vinduet ligger konsekvent ovenpå browservinduet, og det bliver ikke fanget af popup-killers (ikke min i hvert fald og den står på nuke).
tak for points so far og held og lykke.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester