[js] onunload probleempje

Pagina: 1
Acties:

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47
Ik wil detecteren of een browservenster gesloten wordt, simple as that.. Het enige dat ik hiervoor kan gebruiken (voorzover ik weet) is de onunload event (van window, body, whatever)..

Peobleem met deze methode is dat je niet kan achterhalen wat de oorzaak was van de onunload, en dus wordt ie ook getriggered met back, forward, links etc etc...

Deze topic had hetzelfde probleem, maar niemand die die arme jongen ooit antwoord gaf... Misschien kan het gewoon niet..

[topic=218948/1/25]

Iemand een idee?

Update: www.sex.com (sorry voor de link :P) heeft er een gedeeltelijke oplossing voor.. Maar die is nogal lelijk en omslachtig. Ze detectere gewoon iedere link op de pagina, zodat de "exit" daar niet op getriggered wordt.. Helaas werkt dat dus ook niet bij overige problemen als back/forward enzo... :(

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

code:
1
2
3
body onLoad="closing=true" onUnload="if (closing) window.open('thanksForVisiting.html','newwin');">

<a href="nextpage.htm" onClick="closing=false">Click to go to another page..</a>

noot: zie nu dat het alleen niet gaat werken met backs en forwards...

Ik zoek nog ff...

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47
Ja dat bedoel ik.. maar is ook niet echt een oplossing als je voor een hele website dat moet gaan doen..

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

kun je iets doen met een referrer?
dus dat je detecteert wanneer de unload een pagina oplevert van hetzelfde domein hij z'n trigger niet mag triggeren :) ?

Zal wel nie..

www.jurgroessen.nl


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Heb je d'r wat aan om een pop-up te gebruiken?

Zo ja:
=========================================================
You can't disable the button, but you can check the closed property of
your new window object and re-open it if it is closed, i.e.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
// this code goes in the page which opens the pop-up
// set globals for window object, close switch, and timeout
var reopen;
var closeMe = 0;
var newWin = window.open("blank.htm","blank","width=100,height=100");
function checkClosed(){
    //check to see if the pop-up has been closed
    if(newWin.closed){
      //if it has been closed, check to see how it was closed
      if(closeMe){
        //if this switch is set, break out of the loop
        clearTimeout(reopen);
        return;
      }
      //switch is not set, so the user has closed the window with
      //the close(X) button - re-open the window!
      newWin = window.open("blank.htm","blank","width=100,height=100");
    }
    //window is still open, so check again in a little while
    reopen = setTimeout("checkClosed();",100);
}
checkClosed();

The trick here is getting the window to close, which is why I've put a 
"switch" in here called closeMe. This can be set to 1 by the popup by 
using a function like:

function Closeme(){
    window.opener.closeMe = 1;
    self.close();
}

Now, all you need to do is have a button in the pop-up which activates the 
closeMe() function - this will set the switch to 1 (true) in the opening 
window, and the next pass of checkClosed() will clear the timeout and 
break out of the loop.

========================================================

Dit werkt nog steeds niet :(

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47
bedankt voor de input.. ik ga er eens ff naar kijken..

En weg input! :P

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Als je een nieuwe pop-up opent, kan je met

dicht = MijnNieuweWindow.closed;

chechen of je pop-up gesloten wordt. Dan vang je wel je back en forward knoppen af. Toch??? :?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:11

crisp

Devver

Pixelated

1 oplossing: een frameset met een hidden frame waarin je een onUnload event zet. Zolang je gebruikers in je frameset blijven is er niks aan de hand, komen ze buiten je frameset (door bijvoorbeeld een url in te tikken, of de browser af te sluiten) wordt de onUnload van het hidden frame getriggered.

Intentionally left blank


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Het leven is soms zo simpel...

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47
De frameset is ook een oplossing waar we al aan gedacht hadden.. helaas een met teveel nadelen.

Het geeft problemen met searchengine optimalisatie, bookmarking en onduidelijke url en meer van dat soort ongein..

Als er geen andere oplossing is dan moeten we het idee maar schrappen.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Wat wil je precies met het gegeven doen?

Nadat je weet dat het scherm gesloten wordt?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47
Nadat je weet dat het scherm gesloten wordt?
*kuch*een popup openen*kuch*

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Als je een nieuwe pop-up opent, kan je met

dicht = MijnNieuweWindow.closed;

chechen of je pop-up gesloten wordt. Dan vang je wel je back en forward knoppen af. Toch??? :?
Waarom niet initeel een nieuwe window openen? Dan kan je met bovenstaand checken of die "pop-up" gesloten wordt...

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47
Waarom niet initeel een nieuwe window openen? Dan kan je met bovenstaand checken of die "pop-up" gesloten wordt...
Kan.. maar dan zit je met een venster opgescheept op de achtergrond..

Dit lijkt tot nu toe de beste en meest bruikbare oplossing.. dat wel..

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

ehhm nee, want die kan je weer closen :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

Op woensdag 13 maart 2002 10:23 schreef Bosmonster het volgende:

[..]

*kuch*een popup openen*kuch*
oh, vuile slet :+

Kun je touwens niet gewoon die popup gebruiken om te tsjekken?
En dan bedoel ik:
- op 'unload' de popup openen
- laat de popup tsjekken of de opener nog bestaat
- zoja, laat de popup zichzelf weer sluiten
- zo nee, stay alive

www.jurgroessen.nl


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47
Yup dat ga ik eens proberen.. krijg je alleen bij iedere link etc een popupje dat opent en sluit..

Ik weet niet of dat er onder sommige browsers nogal vaag uit gaat zien zeg maar... lijkt me op zich een bruikbare methode.
Pagina: 1