window.open

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • window.open

    hallo zusammen.

    bräuchte bitte mal eure hilfe.
    hab mir in php eine kleine foto gallerie geschrieben.
    wenn man auf die kleinen vorschau bilder klickt, springt
    ein javascript fenster per "window.open" auf in dem unterhalb
    des bildes ein "zurück" "startbild" "weiter" link zu sehen ist.

    hab das ganze im firefox entwickelt gehabt, da lief auch alles
    wunderbar, so nun hab ich das ganze im IE ausprobiert
    und bekomm jetzt das problem dass wenn ich auf einen
    von den links klicke, mir immer ein neues fenster geöffnet
    wird was ja nicht sind und zweck des ganzen ist.

    so hab ich das mal realisiert:
    in der index.php wird mir ein solcher link über die thumbs gelegt:
    PHP-Code:
    ......

            
    $size=getimagesize($dir."/".$filename[$x].".JPG");
            
    $z array_search($filename[$x], $filename);
            
    $size[1]=$size[1]+50;

    echo
    "<a href='#' onclick=\"window.open('popup.php?img=$dir/$filename[$x]$d_endung&
    z=
    $z&w=$size[0]&h=$size[1]&
    t=
    $filename[$x]','$x','width=$size[0],height=$size[1],directories=no,
    location=no,menubar=no,scrollbars=no,
    status=yes,toolbar=no,resizable=no');return false\" target=\"_blank\">"
    ;

            echo
    "<img src=\"$dir/small/$filename[$x]_small.jpg\" border=1></a>"
    die popup.php sieht dann so aus:
    PHP-Code:
    session_start();
    $dir="pics";
    $img = $_GET['img'];
    $w = $_GET['w'];
    $h = $_GET['h'];
    $t = $_GET['t'];
    $z = $_GET['z'];

    echo "<html>";
    echo "<head>";
    echo "<title>$t</title>";
    echo "</head>";
    echo "<body bgcolor=\"White\" leftmargin=0 topmargin=0
     marginwidth=0 marginheight=0 onload=\"self.focus();\">";
    echo "<img src=\"$img\" width=$w heigth=$h border=0>";
    echo "<br><br><font face=\"Verdana\" size=\"2\"><center>";

    //$img = substr($img, 5);
    $datArray = $_SESSION['DateiArray'];
    $y = $z;
    $z++;
    $y--;
    $anzahl = count($datArray);
    //$x = array_search($img, $datArray);

    ?>
    <table width="200">
     <tr>
      <td align="center" width="66">
    <?PHP
         
    if($y >= 0)
         {
             
    $size=getimagesize($dir."/".$datArray[$y]);
             
    $size[1]=$size[1]+50;
             echo
    "<font face=\"Verdana\" size=\"2\">";
             echo
    "<a href='#' 
    onclick=\"window.open('popup.php?img=
    $dir/$datArray[$y]&z=$y&
    w=
    $size[0]&h=$size[1]&t=$datArray[$y]','$y','width=$size[0],
    height=
    $size[1],directories=no,location=no,menubar=no,
    scrollbars=no,status=yes,toolbar=no,resizable=no')\" target=\"_self\">"
    ;
             echo 
    "zur&uuml;ck</a><br></center></font>";
         }
    ?>
      </td>
      <td align="center" width="68">
    <?PHP
            $size
    =getimagesize($dir."/".$datArray[0]);
             
    $size[1]=$size[1]+50;
             echo
    "<font face=\"Verdana\" size=\"2\">";
             echo
    "<a href='#' onclick=\"window.open('popup.php?img=$dir/$datArray[0]&z=0
    &w=
    $size[0]&h=$size[1]&t=$datArray[0]','0','width=$size[0],
    height=
    $size[1],directories=no,location=no,menubar=no,
    scrollbars=no,status=yes,toolbar=no,resizable=no')\" target=\"_self\">"
    ;
             echo 
    "Startbild</a><br></center></font>";
    ?>
      </td>
      <td align="center" width="66">
    <?PHP


        
    if($z $anzahl)
        {
            
    $size=getimagesize($dir."/".$datArray[$z]);
            
    $size[1]=$size[1]+50;
            echo
    "<font face=\"Verdana\" size=\"2\">";
            echo
    "<a href='#' 
    onclick=\"window.open('popup.php?img=
    $dir/$datArray[$z]&z=$z&
    w=
    $size[0]&h=$size[1]&t=$datArray[$z]','$z','width=$size[0],
    height=
    $size[1],directories=no,location=no,
    menubar=no,scrollbars=no,status=yes,toolbar=no,resizable=no')\" target=\"_self\">"
    ;
            echo 
    "weiter</a><br></center></font>";
        }
    ?>
      </td>
     </tr>
    </table>
    habt ihr vielleicht eine antworft auf meine frage warum sich immer wieder ein neues fenster öffnet?

    ich kann euch auch das ganze script zur verfügung stellen wenn
    euch da lieber ist?

    vielen dank für eure hilfe
    shit happens

  • #2
    Zum einen ist diese ganze popup.php-Lösung der ultimative Schwachsinn ... im Kern liegt's allerdings daran das Du dem window.open() kein Target mit angibst ... lediglich dem Link ... aber trotzdem Schwachsinn ... !

    Oder anders gesagt: "Hey ... it's Magic!" .... !
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      und innerhalb des popups kann man problemlos komplett ohne target und window.open() arbeiten. alternativ wäre hier nur ein target=_top sinnvoll.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        kann ich dann den link in der popup.php
        so schreiben:
        PHP-Code:
         echo"<a href='popup.php?img=$dir/$datArray[$z]&z=$z&w=$size[0]&
        h=
        $size[1]&t=$datArray[$z]','$z','width=$size[0],height=$size[1]'>"
        @goth: du könntest mir bitte mal sagen warum dass das schwachsin ist?

        müsst ich dann in der index.php auch noch was ändern? wenn ja könntet ihr mir bitte sagen was?
        shit happens

        Kommentar


        • #5
          Original geschrieben von Magic11
          kann ich dann den link in der popup.php
          so schreiben:
          was passiert denn, wenn du das so machst?
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            es springt auch ein fenster auf in dem das bild mit den 3 links zu sehen ist, allerdings wenn ich auf weiter klicke und dann ein größeres bild als das grad angezeigte kommt wird die fenstergröße nicht auf das neue bild angepasst, sondern bleibt so wie es zu anfangs generiert wurde
            shit happens

            Kommentar


            • #7
              das ist ja dann nicht sinn und zweck des ganzen, das fenster soll ich ja dann auf das neue fenster anpassen.
              fraglich nur noch wie ich da arbeiten muss damit dies geschieht?
              shit happens

              Kommentar


              • #8
                resize()
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar

                Lädt...
                X