Avatar billede europe Nybegynder
26. februar 2003 - 16:22 Der er 13 kommentarer og
1 løsning

Nå window lukkes

Hej

Jeg sidder og skal bruge et eller andet script der fanger når browseren lukkes om det så er på den ene eller den anden måde.
Jeg har prøvet med unload men hvis man så laver en refresh(f5) så vil denne kode også fanges.
Kan dette lade sig gøre??

Der skal måske nok lige nævnes at jeg køre i frames...
Avatar billede Slettet bruger
26. februar 2003 - 16:24 #1
Nej, det kan ikke lade sig gøre. Der er formentlig nogen, der vil foreslå onClose, men det har jeg (efter utallige forsøg) aldrig fået til at virke.
Avatar billede europe Nybegynder
26. februar 2003 - 16:28 #2
Okay ...
Er der så ikke mulighed for at finde ud af om et bestemt window er open ??
Det vindue som jeg åbner - bliver åbnet på følgende måde
win=window.open(filePath, "LogedIn", winprops);
Mit eget forslag er så at spørge på om vinduet ved navnet "Logedin" findes - for gør den det er det kun refrech - men jeg kan ikke rigtig finde ud af det ...
Avatar billede Slettet bruger
26. februar 2003 - 16:45 #3
Fra siden, hvor du åbner vinduet, kan du tjekke det:

win = null;
win = window.open(filePath, "LogedIn", winprops);

...

if (win != null && !win.closed) {
//Vinduet er åbent
}
Avatar billede europe Nybegynder
27. februar 2003 - 10:04 #4
Kan man ikke istedet for at gøre det på den måde med variablen win - som jeg ikke rigtig kan få til at virke - spørge på om vinduet med navnet LogedIn det stadig er åben???
Avatar billede europe Nybegynder
27. februar 2003 - 12:49 #5
Nå men det ser jo ikke ud til at jeg kan gøre det så ... Men hvis du phoenixv vil lave en svar vil jeg gerne give dig nogle points...
Avatar billede Slettet bruger
28. februar 2003 - 16:36 #6
Du kan evt. prøve:

if (!window.frames["LogedIn"].closed) {
//Vinduet er åbent
}

Men det er et skud i tågen.
Avatar billede molokyle Nybegynder
11. juni 2003 - 10:40 #7
Nej. Ingen onClose event, men der findes en onUnload du kan sætte i body.

Eks. <body onUnload="min_funktion()">

min_funktion() kaldes så ved lukning af browseren eller ved skift af side.

Tjyt molokyle.
Avatar billede molokyle Nybegynder
11. juni 2003 - 10:41 #8
Ups.. jeg så ikke, at den kendte du godt. Sorry..!!!

molokyle.
Avatar billede molokyle Nybegynder
11. juni 2003 - 10:59 #9
Har du prøvet onBlur istedet? Så kaldes din funktion når elementer mister fokus. Ved så ikke med refresh ;-|
Avatar billede molokyle Nybegynder
11. juni 2003 - 11:27 #10
Ja undskyld jeg forstyrre igen. Jeg fandt dette script :

http://www.reapers.org/nwn/reference/compiled/event.OnClose.html

Måske noget du kan bruge?
Avatar billede europe Nybegynder
11. juni 2003 - 11:48 #11
Hejsa Molokyle

Jeg har lige været ved at kigge lidt på din onblur. Den giver ikke noget hit når man refresh'er :-) men heller ikke når man lukker vinduet :-(

Og hva angår dit link - kan jeg ikke lige se værdien idet - da det ikke ligner javascript - for mig at ser det ud til at være noget til NWN for at lave sine egnen verden til dette fantastiske spil..

Ellers mange tak..
Avatar billede molokyle Nybegynder
12. august 2003 - 08:33 #12
Havde næsten glemt dig... ;-)

Vi har diskutteret problemet andetsteds. Se om du kan få noget ud af dette:

Hi...
Is it possible to trigger an event in javascript (similar to onUnload) only when the browser is closed or the user navigates offsite (clicks a link or a bookmark) but NOT when a user moves on to another page within the same site? 

Comment : 

Only by using a REALLY ugly hack that measures the size of the browser onUnload.

<SCRIPT LANGUAGE="JavaScript">
<!--
function RorC() {

var top=self.screenTop;
if (top>9000)
{alert('window was closed')}
else
{alert('window was Refreshed')}
}

//-->
</SCRIPT>

</HEAD>
<BODY onunload="java script:if (document.all){RorC()} else {var top=window.outerWidth;if
(top==0) {opener.alert('window was closed')} else {opener.alert('window was Refreshed')}}">

Accepted Answer : 

And here is the leave or stay code

<body onLoad="leaving=true" onUnload="if (leaving) window.open('http://www.DIT_SITE.DK/farvel.html,'_blank')">

<a href="stay.html" onClick="leaving=false">Stay</a>
<a href="http://www.ANDET_SITE.DK">Leave</a>

Comment :

Ahh thats great
So, for my form submit, would I use an OnSubmit for the form or an OnClick for the form button to set leaving=false? 

Comment :

<form onSubmit="leaving=false">

or if you need to validate too:

<script>
function validate(theForm) {
.
.
.

leaving=false
return true
}

<form onSubmit="return validate(this)">


Nærmere tror jeg ikke vi kommer det !

Mvh. Molokyle
Avatar billede europe Nybegynder
12. august 2003 - 09:11 #13
Hej Molokyle

Som der også står er det ikke det flotteste kode men det ser ud til at kunne klare det som jeg gerne ville bruge det til. Jeg siger mange tak...
Hvis du lige ligge et svar så får du også point..

mvh
Jørgen
Avatar billede molokyle Nybegynder
12. august 2003 - 09:32 #14
Du har ret; kønt er det ikke ;-)

Måske jeg lige skulle pointere at f.eks. document.all ikke understøttes af NS og at NS4.5 og tidligere ikke understøtter onunload, men at NS jo også er en uddøende race!

Takker for point.

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