Christopher: Reload Sperre mal anders

Hallo,

nachdem ich einige Zeit damit verbracht habe das Forum zu durchsuchen in der festen Annahme etwas vergleichbares zu finden und immer noch erfolglos bin, poste ich das mal hier rein.

<script type="text/javascript">
<!--
F1 = window.open("flash_player.htm","Fenster1","height=190,width=300,left=250,top=250,location=no,status=no");
F1.focus();
//-->
</script>

Ich habe dieses Script hier, dies ist eine andere Mini-Html Seite implementiert.
Bei dem Besuch der Mini Seite öffnet sich ein Popup mit einem Flash Player.
Nun meine Bitte:

könnte hier jemand den Code so umbauen das sich das geöffnete Popup nicht jedes mal neu läd wenn die Miniseite aufgerufen wird ?
Ich sage bewusst umbauen, da bei einem Laien wie mir auch gute Tipps nicht viel helfen.

Herzlichen Dank im Vorraus, Christopher

  1. Moin!

    könnte hier jemand den Code so umbauen das sich das geöffnete Popup nicht jedes mal neu läd wenn die Miniseite aufgerufen wird ?
    Ich sage bewusst umbauen, da bei einem Laien wie mir auch gute Tipps nicht viel helfen.

    [bitte lesen und merken] Eigentlich nicht. Hier ist selfforum- das Forum zum Selbermachen und nicht getskript- das Forum zum Skriptetauschen. Warum ich dennoch ein vollständiges Skript posten und diskutieren werde beruht auf der Tatsache, das ein solches Skript einen gewissen Nutzen für die Besucher der Webseite aufweist. Sie werden weniger genervt. Und es ist demzufolge diskussionswürdig.

    [Vorwort] Eigentlich halte ich mich bei Fragen zum Theme Popups immer zurück, ich selber sehe aufgrund der Browsereinstellungen kaum welche...

    [Diskussion]
    Das Popup soll nicht wieder gezeigt werden, wenn es einmal gezeigt wurde.
    Es ist erforderlich diesen Umstand zu speichern. Da das Popup ohnehin durch Javascript erzeugt wird, ist es eine gute Idee, das Speichern und Abfragen dieses Zustandes Javascript zu überlassen, also browserseitig zu arbeiten.

    Wo kann gespeichert werden?
    Es bieten sich an:

    • Cookie: Möglich, aber keine allzugute Idee, viele Benutzer behandeln Cookies sehr restriktiv. Das macht den Erfolg fraglich.
    • Eine JS- Variable. Keine gute Idee. Die Variable ist bei einem Reload weg, es sei denn man speichert diese in einem Parent- Fenster, benötigt also einen Frame um die eigentliche Seite. Existieren bereits Frames wäre das was anderes.
    • Es kann die History abgefragt werden. Auch keine gute Idee. Einmal zum Google zurück und wieder vor und das weggeklickte Popup wäre wieder da. Oder ein zweites oder drittes...
    • Es kann die Existenz des Popups abgefragt werden. Keine gute Idee. Der Benutzer schließt es und dann ist es wieder da. Nervend.
    • Speichern in einer nicht sichtbaren Eigenschaft: Da bietet sich zum Beispiel eine Eigenschaft des window- Objektes an. Der Name. Diese Nutzung ist zwar auch etwas mißbräuchlich, aber da es ohnehin keine Frames und selten Interaktionen zwischen Fenstern gibt (Es sei den Popups werden manipuliert oder manipulieren den opener).... gehen wir diesen Weg.

    <script type="text/javascript">
    <!--
    if (window.name <> "popup_gesendet") {
    /* Prüfen, ob in der Eigenschaft name des Fensters bereits der Flag für das "gesendete" Popup gesetzt wurde. Wenn nein: */
       F1 = window.open("flash_player.htm","Fenster1","height=190,width=300,left=250,top=250,location=no,status=no");
       F1.focus();
       window.name="popup_gesendet";
      /* Speichern des Umstandes... */
    }
    //-->
    </script>

    Nachteil: Das Fenster behält diesen Name bis es geschlossen wird oder bis der Name durch ein anderes Skript gesetzt wird.

    Herzlichen Dank im Vorraus, Christopher

    Bitteschön.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    1. Moin!

      [richtige Syntax, falsche Programmiersprache]

      if (window.name <> "popup_gesendet") {

      ändern in: if (window.name != "popup_gesendet") {

      MFFG (Mit freundlich- friedfertigem Grinsen)

      fastix®

      --
      Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.