Avatar billede emileej Nybegynder
12. april 2001 - 19:56 Der er 31 kommentarer og
1 løsning

Event til lukningen af et vindue med frames...

En såddan har jeg forgæves søgt at finde på flg. måde:



intet virker! hjælp! desperato!

:)

E-)mil
http://fotx.net/emileej
Avatar billede emileej Nybegynder
12. april 2001 - 19:57 #1
upz - her er den måde jeg har forsøgt at lave det på :o) :

    <frameset rows=\"90,*,200\" border=\"0\" framespacing=\"0\" frameborder=\"no\" onunload=\"logaf();\" onclose=\"logaf();\">
        <frame src=\"overskrift.html\" name=\"overskrift\" noresize scrolling=\"no\">
        <frameset cols=\"20,*,20\" border=\"0\" framespacing=\"0\" frameborder=\"no\" onunload=\"logaf();\" onclose=\"logaf();\">
            <frame src=\"border.html\" name=\"border\" noresize scrolling=\"no\">
            <frameset rows=\"20,*,20\" border=\"0\" framespacing=\"0\" frameborder=\"no\" onunload=\"logaf();\" onclose=\"logaf();\">
                <frame src=\"border.html\" name=\"border\" noresize scrolling=\"no\" onunload=\"logaf();\" onclose=\"logaf();\">
                <frame src=\"load.html\" name=\"output\" noresize scrolling=\"no\">
                <frame src=\"border.html\" name=\"border\" noresize scrolling=\"no\">
            </frameset>
            <frame src=\"border.html\" name=\"border\" noresize scrolling=\"no\">
        </frameset>
        <frame src=\"input.php\" name=\"input\" noresize scrolling=\"no\">
    </frameset>


E-)mil
Avatar billede hoejrup Nybegynder
12. april 2001 - 20:02 #2
<HEAD>
<SCRIPT language=\"Javascript\">
<!--//
self.focus();
function bye(){self.close();}
//-->
</SCRIPT>
</HEAD>


<A HREF=\"java script:bye();\">[ Luk vinduet ]</A>

/per
Avatar billede emileej Nybegynder
12. april 2001 - 20:53 #3
nix - jeg mener den event, der bliver trigget når vinduet bliver lukket - jeg skal have udført en funktion når vinduet lukkes...

E-)mil
Avatar billede astalavista Nybegynder
12. april 2001 - 21:16 #4
kan du ikke bare bruge

<body unload=\"dinfunktion()\">
Avatar billede jakoba Nybegynder
12. april 2001 - 22:39 #5
Det er onunload du skal bruge, og den skal stå i den yderste frameset kommando.

den funktion den kalder kan ikke ligge i en af rammefilerne. De er allerede døde når onunload aktiveres. Funktionen skal ligge i selve frameset filen, og der er en del begrænsninger på hvad den kan gøre. (Vi er i fuld gang med at rive hele korthuset ned, så du kan ikke regne med meget andet end de simple variable der står lige ved din definition af funktionen. og så dem du selv definerer indeni funktionen).

mvh JakobA
Avatar billede emileej Nybegynder
13. april 2001 - 10:22 #6
Som du kan se på mit frameset, står onunload eventen også i det yderste frameset, og det eneste funktionen, der kaldes gør er, at åbne et lille vindue...

Det underlige er, at det hele virker hvis jeg bare går videre til en anden side - i stedet for at lukke vinduet...

E-)mil
http://fotx.net/emileej
Avatar billede jakoba Nybegynder
13. april 2001 - 11:47 #7
jeg bruger nedenstående kode på
http://hjem.get2net.dk/Jakob.Aggernaes/prek/prpopups.html  (tryk på ENTER)
og det virker, også når man lukker browservinduet.

<HTML> <HEAD> <TITLE>Mr A\'s Page</TITLE>

<script language=\"javascript\">

var popOnUnload = true;

function popUnload(nr) {
  var nrx = screen.width-(520+nr);
  if (navigator.appName!=\"Netscape\") {
    var pos = \",left=\"+nrx+\",top=\"+nr
  } else {
    var pos = \",screenX=\"+nrx+\",screenY=\"+nr
  };
  if (popOnUnload==true)
    open(\"http://hjem.get2net.dk/Jakob.Aggernaes/prek/popups/mrf.html?\"+nr
        ,\"f\"
        ,\"location=1,menubar=1,toolbar=1\"+pos
        +\",resizable=1,scrollbars=1,height=340,width=510\");
}; //end popUnload( integer )

</script>
</HEAD>

<BODY onUnload=\'popUnload(0);\'>

<p>I Hope you had a good time here.<br>Please come again.

</BODY>
</HTML>
Avatar billede jakoba Nybegynder
13. april 2001 - 11:49 #8
Ups. ekspertens sedvanlige ; blev indsat. det skal ikke være
    open(\"http://hjem.get2net.dk/Jakob.Aggernaes/prek/popups/mrf.html?\"+nr
men
    open(\'http://hjem.get2net.dk/Jakob.Aggernaes/prek/popups/mrf.html?\'+nr
Avatar billede emileej Nybegynder
13. april 2001 - 12:23 #9
Det troede jeg også bare at jeg kunne bruge, men det virker åbenbart ikke i framesets :(
Avatar billede jakoba Nybegynder
13. april 2001 - 13:45 #10
Det burde det søreme. Er du helt sikker på der ikke er en detallie du har overset?
Kan du lægge det på nettet et sted man kan kikke?

mvh JakobA
Avatar billede emileej Nybegynder
13. april 2001 - 15:19 #11
Er du på icq?
Avatar billede jakoba Nybegynder
13. april 2001 - 15:52 #12
Nej.
Avatar billede emileej Nybegynder
13. april 2001 - 16:02 #13
Framesettet er som det overstående, og den aller første frame (overskrift.html) indeholder også en onunload=\"top.logaf();\"...
Avatar billede jakoba Nybegynder
13. april 2001 - 17:15 #14
Det eneste sted du skal have en onUnload er i den alleryderste frameset kommando. resten er spild og kan muligvis (jeg er ikke sikker) lave forvirring.

Kan du cut&paste hele frameset filen, inclusive det script der er i den.
Avatar billede emileej Nybegynder
13. april 2001 - 17:26 #15
Jow da - here goes:

<html>

    <head>
        <meta http-equiv=\"content-type\" content=\"text/html;charset=iso-8859-1\">
        <title>EEJChat :: Chatten</title>
        <script name=\"StartScript\" language=\"JavaScript\"> <!--
var loggetAf=false;

function logaf(){
    if(loggetAf==false){
        bredde=100;
        hoejde=100;
        x = (screen.width-(bredde+20));
        y = (screen.height-(hoejde+20));
        EEJChat_logafvindue = window.open(\"http://eej.dk/chat/index.php?opgave=log_af\",\"EEJChat_logafvindue\",\"width=\"+bredde+\",height=\"+hoejde+\",top=\"+ y +\",left=\"+ x +\",directories=no,status=no,menubar=no,scrollbars=no,resizable=no\");
    }
}

//========Her ligger add user scriptet du hjalp mig med========

// --> </script>
        <meta HTTP-EQUIV=\"Pragma\" CONTENT=\"no-cache\">
        <meta HTTP-EQUIV=\"Cache-Control\" CONTENT=\"no-store\">
    </head>

    <frameset rows=\"70,*,200\" border=\"0\" framespacing=\"0\" frameborder=\"no\" onunload=\"logaf();\" onclose=\"logaf();\">
        <frame src=\"overskrift.html\" name=\"overskrift\" noresize scrolling=\"no\">
        <frameset cols=\"20,*,20\" border=\"0\" framespacing=\"0\" frameborder=\"no\" onunload=\"logaf();\" onclose=\"logaf();\">
            <frame src=\"border.html\" name=\"border\" noresize scrolling=\"no\">
            <frameset rows=\"20,*,20\" border=\"0\" framespacing=\"0\" frameborder=\"no\" onunload=\"logaf();\" onclose=\"logaf();\">
                <frame src=\"border.html\" name=\"border\" noresize scrolling=\"no\" onunload=\"logaf();\" onclose=\"logaf();\">
                <frame src=\"load.html\" name=\"output\" noresize scrolling=\"no\">
                <frame src=\"border.html\" name=\"border\" noresize scrolling=\"no\">
            </frameset>
            <frame src=\"border.html\" name=\"border\" noresize scrolling=\"no\">
        </frameset>
        <frame src=\"input.php\" name=\"input\" noresize scrolling=\"no\">
    </frameset>
<noframes>
<!-- Min noframes body -->
</noframes>

</html>

E-)mil
Avatar billede emileej Nybegynder
13. april 2001 - 17:27 #16
Det lille vindue sætter loggetAf til true så snart det åbnes...
Avatar billede jakoba Nybegynder
13. april 2001 - 17:50 #17
Skulle virke fint.
Det lille vindue skal ikke sætte loggetAf til true. variablen findes sandsynligvis ikke mere når vinduet begynder at udføre script.
Men vinduet skulle poppe op.

prøv at fjerne alle de extra onUnload= og onClose= events du har i framesttet.
Der behøves kun een onUnload= i det yderste frameset.

mvh JakobA

er det forresten ikke snarere en \"loggetPaa\" variabel du skal have? der først bliver sat sand når den besøgende logger på chatten. Det ville undgå en logaf-melding til en bruger der aldrig har logget på.
Avatar billede emileej Nybegynder
13. april 2001 - 18:09 #18
Nu har jeg fjernet alle andre onunload og onclose - også den i overskrift filen - jeg har også prøvet at skifte onunload rundt imellem de forskellige frames og framesets - intet af det virkede...
Avatar billede jakoba Nybegynder
13. april 2001 - 18:19 #19
sært.
Avatar billede emileej Nybegynder
13. april 2001 - 18:27 #20
ja
Avatar billede jakoba Nybegynder
13. april 2001 - 18:45 #21
prøv at sætte nogen alert kald i i routinen så du kan se hvor langt den når.

Kunne det være et vindue med navnet \"EEJChat_logafvindue\" allerede er åbnet og ligger omme bagved det du kikker på? sæt evt EEJChat_logafvindue.focus() ind efter kaldet til window.open( ... )

mvh www.fotx.net/JakobA
Avatar billede emileej Nybegynder
13. april 2001 - 22:09 #22
Funktionen logAf(); bliver aldrig eksekveret...
Avatar billede jakoba Nybegynder
13. april 2001 - 23:03 #23
Hvorfor overser vi altid det indlysende?  stort A i logAf()
onunload=\"logaf();\"
Avatar billede jakoba Nybegynder
13. april 2001 - 23:04 #24
og dog, det er da lille a begge steder. eller er det?
Avatar billede emileej Nybegynder
14. april 2001 - 08:56 #25
Nej - det var bare mig, der kom til at skrive det med stort - jeg er i tvivl om det bare er min IE der ikke kan finde ud af det - jeg kan sende adressen på siden til dig i en mail - så kan vi se om din browser kan...
Avatar billede emileej Nybegynder
14. april 2001 - 14:53 #26
Er du med på den?
Avatar billede jakoba Nybegynder
14. april 2001 - 18:23 #27
helt ok

mvh JakobA
Avatar billede jakoba Nybegynder
14. april 2001 - 20:42 #28
Det eneste jeg kan se er en onclose=\'logaf()\' event,

den er slet ikke definere i den netscape dokumentation jeg har, men alligevel fik jeg en  \"logger af...\" alertboks.

men der kom ikke noget popopvindue. kun en alert (og en til bagefter om at jeg var logget af) ((men det var jeg nu ikke da jeg bagefter gik derind igen))

ovenstående er fra NS6.

Jeg vil stadig påstå at det bør være  onunload=\'logaf()\' og ikke onclose. onunload er den officielle.

mvh JakobA
Avatar billede jakoba Nybegynder
14. april 2001 - 20:51 #29
Hey. jeg prøvede at køre den der fil http://eej.dk/chat/index.php?opgave=log_af
og der kom slet ikke nogeget vindue ud af det, kun den \"du er logget af\" alert jeg også så før. OG SÅ LUKKEDE DEN MIT BROWSERVINDUE.
Meget fyfy medmindre det er rettet imod chatpopoppen.

Ps jeg mister den nederste del af den der chatpopop fordi jeg bruger stor font. og du tillader hverken resize eller scroll. Hvorfor ikke?

mvh JakobA

Avatar billede emileej Nybegynder
18. april 2001 - 17:45 #30
den med scroll i den nederste del skal jeg nok rette - grunden til, at http://eej.dk/chat/index.php?opgave=log_af lukker vinduet er jo, at min log af funktion skal åbne et lille vindue i nederste højre hjørne med den url, når vinduet lukkes - det er så det lille vindue der lukkes, da chat vinduet jo allerede er blevet lukket af brugeren... :o)
Avatar billede jakoba Nybegynder
18. april 2001 - 19:00 #31
Der kom slet ikke noget vindue op.
Prøv at kikke på hvad din index.php?opgave=log_af egentlig genererer af kode.
Avatar billede emileej Nybegynder
27. april 2001 - 07:17 #32
hmmm... Der var ikk rigtigt noget der virkede, desuden er projektet lagt på hylden for en stund pga. en ny kunde...

E-)mil
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