Avatar billede krosser Nybegynder
16. august 2001 - 16:08 Der er 16 kommentarer og
1 løsning

javascript og popup--HASTER

Har en side hvor der efterhånden som brugeren klikker på links kommer en del pop ups.. dette kørter fint..men jeg vil gerne have at når man lukker statsiden så skal alle popup vinduerne osse lukkes , er der nogen der har en løsning på dette. Faktisk den omvendte vej af alle de dersens pornosider..giv venligst etfyldstgørende ekseempel da jeg stinker til javascript...
Avatar billede tknudsen Nybegynder
16. august 2001 - 16:10 #1
hvordan åbner du de popups ?
Avatar billede mukke Nybegynder
16. august 2001 - 16:13 #2
ide til en måde at gøre det på. Jeg vil så lade andre om evt. at føre det ud i livet med noget kode, da jeg er for dogen til at rode med det lige nu! ;-)

1) Læg hele din side i et frameset, så der er en side der forbliver den samme hele tiden.

2) Navngiv alle dine popup windoer \"ens\": popup1, popup2, popup3, popup4...

3) I den fram/side der vil findes under hele \"besøget\" laves en onexit (eller hvad den nu heder) der starter en funktion.

4) denne funktion lukker alle vinduer med navn popup1, popup2, popup3.

eller

4) denne funktion genemgår alle child-vinduer (Ikke sikker på om man kan gå igennem disse via javascript) og lukker dem en af gangen.


Held og lykke, burde ikke være så besværligt.
Avatar billede tknudsen Nybegynder
16. august 2001 - 16:14 #3
body onUnload bliver kaldt når du lukker et vindue. Derfor skal du i startsidens body tag indsætte onUnload som kalder et script der lukker alle dine vinduer.

Hvis du åbner vinduerne med window.open kan du lukke dem igen med close() funktionen, men så skal du ha et handle til hvert popup vindue - har du det ?
Avatar billede krosser Nybegynder
16. august 2001 - 16:19 #4
lyder helt fint med det dersens onUnload men jeg er en spasser til ja så hvis en af jer kan demonstrere hvorledes scriptet der kaldes i bodyen ser ud bare et eksempel med f.eks to vinduer ville værer super super.
Avatar billede tknudsen Nybegynder
16. august 2001 - 16:24 #5
<html>

<head>

<script language=\"javascript\">

var whdPopup = new Array();
var popupIdx = 0;

function showPopup(url)
{
    whdPopup[popupIdx++] = window.open(url);

}

function closeAllPopup()
{
    var i;
   
    for(i=0;i<popupIdx;i++)
        whdPopup[i].close();
}

</script>

</head>

<body onUnload=\"closeAllPopup()\">

<a onClick=\"showPopup(\'test1.htm\')\">test 1</a><br>
<a onClick=\"showPopup(\'test2.htm\')\">test 2</a>

</body>

</html>
Avatar billede tknudsen Nybegynder
16. august 2001 - 16:28 #6
Hver gang du klikker på et af linkene bliver der åbnet et nyt vindue via funktionen showPopup(). Den ligger et handle til hvert vindue over i et array.

Når du forlader startsiden bliver dette array løbet igennem - i funktionen closeAllPopup() - og alle vinder bliver lukket.

Der kan selvfølgelig ligges en test ind i showPopup() der gør at det samme popup kun bliver åbnet een gang - og ligeledes kan der i for-løkken i sloseAllPopup() testes på om vinduet allerede er lukket (jeg ved ikke hvad der sker hvis det er tilfældet og siden forlades).
Avatar billede krosser Nybegynder
16. august 2001 - 16:30 #7
jeg lurer lige lidt på det:)
Avatar billede krosser Nybegynder
16. august 2001 - 16:35 #8
går ud fra at jeg stadig sagtens selv kan definere flere værdier for de forskellige pop ups f.eks width height , toolbar osv?
Avatar billede tknudsen Nybegynder
16. august 2001 - 16:50 #9
det kan du - du kan fører dem med over i showPopup():

function showPopup(url,width,height,left,top,toolbar,statusbar)
{
    var winParam = \'width=\'+width+\' height=\'+height+\' left=\'+left+\' top=\'+top+\' toolbar=\'+toolbar+\' status=\'+status

    whdPopup[popupIdx++] = window.open(url,\'\',winParam);

}



<a onClick=\"showPopup(\'test1.htm\',400,100,100,100,0,1)\">test 1</a><br>
<a onClick=\"showPopup(\'test2.htm\',650,100,600,200,1,1)\">test 2</a>
Avatar billede tknudsen Nybegynder
16. august 2001 - 16:53 #10
osv...

parametrene for toolbar og status kan udskiftes med true/false og \'yes\'/\'no\' idet det er boolske værdier - feks:

<a onClick=\"showPopup(\'test1.htm\',400,100,100,100,false,true)\">test 1
</a>

eller

<a onClick=\"showPopup(\'test1.htm\',400,100,100,100,\'no\',\'yes\')\">test 1</a><
Avatar billede krosser Nybegynder
16. august 2001 - 17:11 #11
tror jeg siger tak tester det om nogle timer når jeg er helt færdig med mit set-up og så er der selvfølgelig point på vej til dig tusind tak for hjælpen , det ser sgu fornuftigt ud:)
Avatar billede krosser Nybegynder
16. august 2001 - 21:13 #12
har du testet dette? jeg kan ikke fådet til at spille
Avatar billede krosser Nybegynder
17. august 2001 - 00:57 #13
hmm det virker ikke...hjælp:)
Avatar billede tknudsen Nybegynder
17. august 2001 - 08:44 #14
ja - jeg har testet det...

hvad er det du ikke kan få til at fungere ? kommer der evt en fejlmeddelelse ?
Avatar billede krosser Nybegynder
17. august 2001 - 10:29 #15
den skriver f.eks object missing inede ved link linjen.. som om den ikke kan finde filen..jeg har osse prøvet at teste dit test script det kune heller ikke funke af en eller anden grund eller osse kan den skrive invalid character mangler der et ; et sted?
Avatar billede tknudsen Nybegynder
17. august 2001 - 10:45 #16
prøv lige at smid hele din side herud - eller evt mail den til mig på tkk@oaf.dk
Avatar billede krosser Nybegynder
17. august 2001 - 10:47 #17
det spiller nu må lavet en taste fejl tusind tak det er sgu for lækkert.)

velfortjente point!
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