Mäx: Wenn Popup offen, nicht nochmals öffnen...

Hallo,

wie kann ich es bewerkstelligen, dass pro Link immer nur 1 Pop-Up offen ist?

Ich habe mehrere Links, und gebe mittels $_GET die "ID" des links weiter, sodass der richtige Inhalt in das Popup geschrieben wird.

Pro Link soll dabei nur jeweils 1 Popup offen sein,.. d.h, wenn ich 5 mal auf "Link Nr.1" klicke soll die letzen 4 mal kein Fenster geöffnet werden, klicke ich hingegen auf Link2 oder Link3 sollen neue Popups geöffnet werden.

Kurzum soll bei mehrfachen klicken auf denselben Link, wenn bereits offen nur der Fokus auf das entsprechende Popup gelegt werden.

Danke für Eure Vorschläge,
Mäx

  1. Hallo Mäx,

    Kurzum soll bei mehrfachen klicken auf denselben Link, wenn bereits offen nur der Fokus auf das entsprechende Popup gelegt werden.

    Du gibst den Fenster doch einen Namen. Prüfe, bevor Du ein neues Fenster öffnest, ob es bereits ein fenster mit diesem Namen gibt. Sollte dies existieren, so setze den focus() auf selbiges ansonsten öffne es.

    Mit freundlichem Gruß
    Micha

    --
    LeagueEditor JavaScript kostenlose Ligaverwaltung || richtig Messen will gelernt sein
    1. Hallo Micha,

      was mache ich falsch?

      <HEAD><SCRIPT>
      function seite(hp, Nick)
      {
      if (Nick.closed == true) {
      var win=window.open(hp,'',"width=600,height=600,screenX=10,screenY=10,location=no,menubar=no,resizable=no,status=no,scrollbars=no","Nick");
      win.focus();
      }}
      </SCRIPT></HEAD>

      <BODY>
      <a href="javascript:seite ('abc.php','ABC')">
      </BODY>

      Danke,
      Mäx

      1. Hallo Mäx.

        if (Nick.closed == true) {

        Hier möchtest du eigentlich deinem Code gemäß „win.closed“ überprüfen. Der Parameter „Nick“ ist überflüssig.

        Einen schönen Donnerstag noch.

        Gruß, Mathias

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        debian/rules
      2. Morgäähn

        was mache ich falsch?

        <HEAD><SCRIPT>
        function seite(hp, Nick)
        {
        if (Nick.closed == true) {
        var win=window.open(hp,'',"width=600,height=600,screenX=10,screenY=10,location=no,menubar=no,resizable=no,status=no,scrollbars=no","Nick");
        win.focus();
        }}
        </SCRIPT></HEAD>

        open() hat nur 3 Parameter (nicht 4 wie in deinem Beispiel) wovon der der 2. der Name des Fensters ist. Dieser ist bei dir leer (''), d.h. dein Fenster hat keinen Namen und somit kannst du auch nicht dessen existenz überprüfen, bzw. eine neue Seite in diesem Fenster laden.

        Muss jetzt zur Arbeit, deshalb gibt's kein Beispiel *g

        Gruß,
        Arthur D.

        --
        >> So long, and thanks for all the fish. <<
      3. function seite(hp, Nick)
        {
        if (Nick.closed == true) {
        var win=window.open(hp,'',"width=600,height=600,screenX=10,screenY=10,location=no,menubar=no,resizable=no,status=no,scrollbars=no","Nick");
        win.focus();
        }}

        Wenn Nick der Name sein soll:
        function seite(hp, Nick)
        {
        window.open( hp, Nick, "....").focus();
        }

        <a href="javascript:seite ('abc.php','ABC')">

        Das ist schlecht, besser:

        <a href="abc.php" onclick="seite(this.href,'ABC');return false;">

        Struppi.

        --
        Javascript ist toll (Perl auch!)