MOJOJO: "window.open" von Internet Explorer geblockt

Hallo !

Mein Problem:
Habe ein Script welches bei Verlassen der Seite die Verweildauer des Users in eine .php (.txt) schreibt.
Dieses funktioniert prima unter Mozilla Firefox, doch mein Microsoft Internet Explorer blockiert dieses (Win XP SP2, IE V. 6).
Wie kann ich diesen Problem aus dem Weg gehen, ohne die Sicherheitseinstellungen des IE zu ändern ?
SCHON IM VORAUS VIELEN VIELEN DANK !
Mfg MOJOJO

Code (speziell geht es glaube ich um "OnlineZeitSpeichern = window.open")

Code:
<html>
   <head>
   <script language="JavaScript">
   <!--
   var Aufrufzeit = new Date();
   var Differenz = 0;
   function Zeitberechnung()
   {
    var AktuelleZeit = new Date();
    Differenz = parseInt((AktuelleZeit.getTime() - Aufrufzeit.getTime()) / 1000);
    setTimeout("Zeitberechnung()", 1000);
   document.Onlinezeit.OnlinezeitWert.value = Differenz;
    setTimeout("Zeitberechnung()", 1000);

}

function OnlineZeitSpeichern()
   {
    Differenz=String(Differenz);
    Webseite=document.URL.replace(/.*\/,"");
    Webseite=Webseite.replace(/./,"_");
  OnlineZeitSpeichern = window.open("onlinezeitspeichern.php?Verweildauer="+Differenz+"&Webseite="+Webseite, "OnlineZeitSpeichern", "toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=0,height=0");
    OnlineZeitSpeichern.close();
   }
   //-->
   </script>
   <title>Online-Zeit des Besuchers ermitteln und Verweildauer speichern</title>
   </head>
   </html>
   <body onLoad="Zeitberechnung();" onUnLoad="OnlineZeitSpeichern();">
   <form name="Onlinezeit">
   Sie sind seit <input name="OnlinezeitWert" size="3" type="text"> Sekunden auf dieser Webseite.
   </form>
   </body>
   </html>

  1. Hi MOJOJO,

    Habe ein Script welches bei Verlassen der Seite die Verweildauer des Users in eine .php (.txt) schreibt.
    Dieses funktioniert prima unter Mozilla Firefox, doch mein Microsoft Internet Explorer blockiert dieses (Win XP SP2, IE V. 6).

    Richtig, seit SP2 hat der IE endlich auch mal einen PopUp Blocker drin, den übrigens auch Mozilla, Mozilla Firefox, Opera etc schon lange haben. In Firefox ist dieser auch Standardmäßig aktiviert - möglicherweise hast speziell deiner Seite da mal erlaubt PopUp's zu machen.

    Wie kann ich diesen Problem aus dem Weg gehen, ohne die Sicherheitseinstellungen des IE zu ändern?

    Eigentlich gar nicht. Es ist nun mal nicht direkt möglich das Verlassen einer Seite auf dem Server zu registrieren. Stell dir vor, der User würde einfach die Internet Verbindung trennen, da würde auch dein Script nicht helfen! Oder: Der User hat Javascript deaktiviert, dann ist auch alles überflüssig.

    <body onLoad="Zeitberechnung();" onUnLoad="OnlineZeitSpeichern();">
       <form name="Onlinezeit">
       Sie sind seit <input name="OnlinezeitWert" size="3" type="text"> Sekunden auf dieser Webseite.
       </form>
       </body>

    Das einzige was du machen kannst, ist den User zu _bitten_ sich auszuloggen, indem er auf einen Link klickt (dieser kann dann ja ein PopUp öffnen, denn angeforderte PopUp's sollte ein Blocker durchlassen).

    Mir fällt da aber gerade noch ein eventueller Workaround ein: Du könntest beim Schließen des Fensters ein Cookie mit der "Logoutzeit" setzen, welches du dann wiederrum beim nächsten Login ausliest - nicht besonders zuverlässig, aber hope it helps ;-)

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:| [decode]
    Schon gewusst, dass Bugs und Feature Vorschläge für das CForum ins Entwicklerforum oder in den BugTracker gehören und nicht hier her?
    1. Vielen Dank für deine sehr hilfreiche und ausführliche Antwort !

      Du hast mich mit dem Log Out Button auf eine gute Idee gebracht !!

      Werde dies mal versuchen,
      MfG MOJOJO