Denis: Wieder mal onclose-Funktion...

Hallo,

suche eine Funktion, die es verhindern soll, sich ohne auszuloggen, das Browserfenster zu schliessen. Was ich bisher im Forum schon gelesen habe, ist fast das was ich suche. Das ist der Code, den ich mir kopiert habe:

<script language="JavaScript">
<!--
function onUnloadHandler(){
if(self.VBArray){
  var e = self.event, s = self.screen;
   if(e.clientX + s.width < 0
    && e.clientY + s.height < 0
    && typeof(window.onclose) == "function"){
    window.onclose();
   };
  };
};
onunload =onUnloadHandler;

function onclose(){
  alert("Melden Sie sich bitte ab!")
};
//-->
</script>
</HEAD>
<BODY TEXT="#CCCCCC" BGCOLOR="#000048" onbeforeunload="onUnloadHandler()">

Aber Problem ist, dass das Fenster schon geschlossen ist, wenn diese Meldung erscheint. Kann man das so machen, dass das Schliessen irgendwie abgefangen wird?

Grüße Denis

  1. Hi,

    suche eine Funktion, die es verhindern soll, sich ohne auszuloggen, das Browserfenster zu schliessen.

    das ist unmöglich. Zudem ist es nicht das Problem, welches Du eigentlich lösen möchtest. Beschreibe also Dein Problem, nicht einen Therapievorschlag.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. Hi,

    suche eine Funktion, die es verhindern soll, sich ohne auszuloggen, das Browserfenster zu schliessen.

    die meisten Loginscripte geben dem Nutzer eine bestimmte Zeit. Wenn er in dieser Zeit keinen Link betätigt (was der Fall ist, wenn er das Fenster geschlossen hat), läuft die Session bzw. der Loginstatus automatisch ab.

    Mit Javascript irgendwelche Verrenkungen zu vollziehen ist also völlig unnötig.

    MfG Hopsel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
  3. Naja, der Kunde will das aber so...

    Könnte man schon so machen, dass man die Session nach einer bestimmten Zeit killt usw., aber das will der Kunde auch nicht, denn wenn er mal ein paar Minuten nix macht, soll er nicht gleich rausgeschmissen werden...

    Und da die zu blöd sind den Logut-Knopf zu drücken, wollen die umbedingt etwas, was Sie erinnert diesen knopf zu drücken.

    Problem, bei dieser Sache ist außderdem, dass Datensätze exklusiv gesperrt werden und wenn man einen solchen Datensatz bearbeitet und dann die Appl. über x verlässt, dann bleibt der Datensatz erst mal gesperrt bis die Session abläuft, aber das dauert ja viel zu lange, denn in der Zwischenzeit, kann ja jemand anders darauf zugreifen und dieser wäre somit gesperrt für ihn zum Bearbeiten...

    Deshalb wäre die einfachste Lösung so ein Skript, welches ihn zwingt sich abzumelden.

    1. Hi,

      Naja, der Kunde will das aber so...

      dann liegt es in Deiner Verantwortung, ihn von diesem Unsinn abzubringen.

      Könnte man schon so machen, dass man die Session nach einer bestimmten Zeit killt usw., aber das will der Kunde auch nicht, denn wenn er mal ein paar Minuten nix macht, soll er nicht gleich rausgeschmissen werden...

      Wähle einen _günstigen_ Zeitraum.

      Problem, bei dieser Sache ist außderdem, dass Datensätze exklusiv gesperrt werden und wenn man einen solchen Datensatz bearbeitet und dann die Appl. über x verlässt, dann bleibt der Datensatz erst mal gesperrt bis die Session abläuft, aber das dauert ja viel zu lange, denn in der Zwischenzeit, kann ja jemand anders darauf zugreifen und dieser wäre somit gesperrt für ihn zum Bearbeiten...

      Dann löse _dieses_ Problem, anstatt mit obskuren Konzepten neue zu schaffen. Was Du vorhast, ist unmöglich; daran hat sich in den letzten Jahren nichts geändert.

      Deshalb wäre die einfachste Lösung so ein Skript, welches ihn zwingt sich abzumelden.

      Welches also beispielsweise aktiv wird, bevor er die Internetverbindung kappt oder bevor sein Rechner abstürzt. Viel Erfolg.

      Cheatah

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. hi,

        Deshalb wäre die einfachste Lösung so ein Skript, welches ihn zwingt sich abzumelden.

        Welches also beispielsweise aktiv wird, bevor er die Internetverbindung kappt oder bevor sein Rechner abstürzt. Viel Erfolg.

        zumindest im IE sollte man einen entsprechenden eventhandler onBeforeBrowserCrash wirklich mal einführen.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hi,

          zumindest im IE sollte man einen entsprechenden eventhandler onBeforeBrowserCrash wirklich mal einführen.

          dann braucht man aber auch die Funktion StopUserSuicid().

          MfG Hopsel

          --
          "It's amazing I won. I was running against peace, prosperity, and incumbency."
          George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
          1. Hi,

            zumindest im IE sollte man einen entsprechenden eventhandler onBeforeBrowserCrash wirklich mal einführen.
            dann braucht man aber auch die Funktion StopUserSuicid().

            Mit Verlaub: Mit dem Leben hat man doch bereits in dem Moment abgeschlossen, in dem man sich entschlossen hat, den IE einzusetzen!

            Gruß, Cybaer

            --
            Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
            1. Hi,

              zumindest im IE sollte man einen entsprechenden eventhandler onBeforeBrowserCrash wirklich mal einführen.
              dann braucht man aber auch die Funktion StopUserSuicid().
              Mit Verlaub: Mit dem Leben hat man doch bereits in dem Moment abgeschlossen, in dem man sich entschlossen hat, den IE einzusetzen!

              viele nutzen ihn ja aus Unwissenheit.

              MfG Hopsel

              --
              "It's amazing I won. I was running against peace, prosperity, and incumbency."
              George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    2. stell dir ein unschließbares pop-up werbefenster vor und du wirst verstehen wieso das nicht funktioniert und nie funktionieren darf.

      und kunden darf man keinen willen lassen.

    3. Hi,

      Und da die zu blöd sind den Logut-Knopf zu drücken, wollen die umbedingt etwas, was Sie erinnert diesen knopf zu drücken.

      ich empfehle dir, Cheatahs Ratschlag zu beherzigen und deinen Kunden umzustimmen.

      Ansonsten: Überprüfe, ob der Nutzer ausgeloggt ist. Wenn nicht, dann öffne mit onClose das gleiche Fenster nochmal mit einer Warnmeldung ("Sie müssen sich erst ausloggen, um die Seite verlassen zu können.").

      Aber (!) ich fände dieses Vorgehen _äußerst_ unhöflich und würde es vermeiden, diese Seite häufiger als nötig zu besuchen. Ich rate dir, deinem Kunden zu sagen, dass sein Wunsch sich wohl nicht in die Tat umsetzen lässt.

      MfG Hopsel

      --
      "It's amazing I won. I was running against peace, prosperity, and incumbency."
      George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001