Avatar billede mik789 Nybegynder
11. september 2004 - 09:25 Der er 9 kommentarer og
1 løsning

luk popups når siden forlades

Sp. siger det: er der nogen der har et godt script til at lukke evt. åbnede popups når folk forlader ens side?

Jeg har selv lavet scripts der lukker enkelte popups, men når det drejer sig om flere på én gang, lykkes det ikke.
Avatar billede mik789 Nybegynder
11. september 2004 - 09:32 #1
nærmere: der må vel eksistere et array over de vinduer der er åbnet (som man så kan køre igennem og lukke hvert vindue). Kan jeg bruge window.frames til popups? eller window.length? hvad ellers?
Avatar billede Søren Bech Morsing Praktikant
11. september 2004 - 10:03 #2
lav selv dit array over de vinduer du åbner - jeg går ud fra at de vinduer du taler om at lukke er nogle du selv har åbnet fra siden
Avatar billede mik789 Nybegynder
11. september 2004 - 12:07 #3
Har forsøgt med dette, som ikke virker. Det giver ingen fejl i JavaScript consollen, men det lukker ikke vinduerne:

function cleanUp(){
  var popWins = new Array("refsWin","txtWindow");
  for(i=0;i<popWins.length;i++){
    if(window[i]&&!window[i].closed) window[i].close();
  }
}
window.onunload=cleanUp;
Avatar billede superdude Nybegynder
11. september 2004 - 12:59 #4
Er du ikke nødt til at lave arrayet uden for din cleanUp function, og tilføje arrayet  de reference-navne du kalder dine popups?
Avatar billede roenving Novice
11. september 2004 - 14:01 #5
Et trick (ganske utestet !-)

function cleanUp(){
  var popWins = new Array("refsWin","txtWindow");
  for(i=0;i<popWins.length;i++){
    win = window.open("",popWins[i]);
    win.close();
  }
}
window.onunload=cleanUp;
Avatar billede grunken Nybegynder
11. september 2004 - 14:14 #6
eller !

<script type="text/javascript">
var op=[];

function pop(v){
  op[op.length]=window.open('',v);
}


function lukAlt(){
  for (i=0;i<op.length;i++){
  if(op[i]&&!op[i].closed)op[i].close();}
}

window.onunload = lukAlt;

</script>

<a href="#" onclick="pop('due')">Due</a>
<a href="#" onclick="pop('dav')">Dav</a>
<a href="#" onclick="pop('hej')">Hej</a>
Avatar billede mik789 Nybegynder
11. september 2004 - 17:47 #7
grunken & roenving>> ok, som jeg forstår jer begge to, er det der er i vejem med mit forsøg oven for, at det jo ikke bare er popupvinduernes navne der skal i arrayet, men selve popupvindue-objekterne.

jeg kan godt få roenvings script til at fungere når alle vinduer er åbne, men hvis nogle er lukkede får jeg fejl.

grunkens script fungerer og giver ingen fejl. jeg har tilpasset det lidt, fordi jeg åbner vinduerne et ad gangen med flere detaljer (placering, højde, bredde osv.). Men så gør jeg bare det at jeg i de scripts der åbner disse vinduer indsætter: op[op.length]=vinduenavn; efter den linje der sætter vinduenavn = window.open("", vinduenavn, "...,...,...,..."); Arrayet fyldes så alligevel op efterhånden som vinduer åbnes, og når siden forlades, lukker de der endnu er åbne.

grunken, lægger du et svar ;-)
Avatar billede mik789 Nybegynder
11. september 2004 - 17:48 #8
øv for f..., hvorfor tror Eksp. automatisk at man svarer. det var selvfølgelig bare en kommentar....
Avatar billede grunken Nybegynder
13. september 2004 - 22:18 #9
Beklager ventetiden - du få et svar :o)
Avatar billede mik789 Nybegynder
14. september 2004 - 07:54 #10
alt OK
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