Frank: POPUP Bildgröße Automatisch?

hallo, ich noch mal :) habe schon hier gekuckt: http://de.selfhtml.org/javascript/objekte/window.htm#open

leider weiß ich nicht wie was einbauen muß, ich möchte das sich das fenster automatisch dem bild anpasst, wie mache ich das?

mein code sieht zuzeit so aus:

<a href"#" onClick="window.open('../img/pioneer/pioneer.sd-1000.01.jpg','Name','toolbar=no,screenX=250,screenY=150,status=no,menubar=no,width=720,height=450')"><img src="../img/pioneer/pioneer.sd-1000.01b.jpg" border="1" onmouseover="this.src='../img/pioneer/pioneer.sd-1000.01a.jpg'" onmouseout="this.src='../img/pioneer/pioneer.sd-1000.01b.jpg'"/></a>

wie und was bauen ich ein?

danke :)

  1. Hi,

    Ich glaub das geht nicht.
    Ich würde das mit PHP lösen.
    Bildgröße des Zielbildes abfragen und die werte $x und $y an das JavaScript übergeben!

    Gorgonzola
    ----------
    Schäuble 2.0
    Big Brother is watching you ;-)

    1. danke gorgonzola :) von PHP habe ich ja keine ahnung, wie würde der code den dafür aussehen?

      danke :)

      1. Hallo,

        danke gorgonzola :) von PHP habe ich ja keine ahnung, wie würde der code den dafür aussehen?

        ich will dir kein fertiges Script liefern, aber die Funktion getimagesize() dürfte für dich interessant sein.

        Vielleicht solltest du dich dann doch ein bisschen in PHP einlesen. oÔ

        Grüße, Matze

        1. danke matze :) "ohhhhhhhhhhhhhhh gott", dafür habe ich jetzt keine zeit *g*, dann bleib ich erst mal bei JAVA.

          danke euch.

          1. Mahlzeit,

            dann bleib ich erst mal bei JAVA.

            Das glaube ich nicht.

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            1. möchte meinem code für die nächste seite scrollbalken mit geben, wie mache ich das den?


              <a href"#" onClick="window.open('../html/seite01.PopUp.htm','Name','toolbar=no,screenX=742,screenY=249,status=no,menubar=yes,width=250,height=450')"><img src="../img/hebel.blog.a.gif" border="0" onmouseover="this.src='../img/hebel.blog.b.gif'" onmouseout="this.src='../img/hebel.blog.a.gif'"/></a>

              1. möchte meinem code für die nächste seite scrollbalken mit geben, wie mache ich das den?

                Das Beispiel das ich dir gezeigt hatte kann sogar noch mehr

                Struppi.

          2. Hallo,

            danke matze :) "ohhhhhhhhhhhhhhh gott", dafür habe ich jetzt keine zeit *g*, dann bleib ich erst mal bei JAVA.

            Java oder JavaScript?
            Beachte den Unterschied!

            Wenn du mitarbeitest und Interesse daran hast, können wir dein Script sicher zusammen schreiben.

            Grüße, Matze

            1. Hi Matze,

              Wenn du mitarbeitest und Interesse daran hast, können wir dein Script sicher zusammen schreiben.

              Wenn´s nicht allzu kompliziert ist, die Popup grösse auch nach "Inhalt" anzupassen,
              stelle ich mich gern zur verfügung.

              Grüße,
              Engin
               GYRO

              1. Hallo,

                Wenn´s nicht allzu kompliziert ist, die Popup grösse auch nach "Inhalt" anzupassen,
                stelle ich mich gern zur verfügung.

                ok. Also wir waren ja schon soweit, dass du mit getimagesize() die Ausmaße deines Bildes ermitteln kannst.

                Wie funktioniert das jetzt?
                Die Funktion getimagesize() liefert dir im Erfolgsfall ein Array zurück. Darin enthalten sind mit dem Schlüssel 0 die Breite, mit 1 die Höhe und mit 3 eine Zeichenkette im Format height=xxx width=xxx.
                Den zweiten Schlüssel können wir erstmal vernachlässigen. Den dritten auch.

                Fragen wir also erstmal soweit ab.

                  
                <?PHP  
                $mypic = getimagesize(Deine_Bildquelle);  
                ?>  
                
                

                Soweit nichts besonderes und logisch oder?
                $mypic sieht jetzt also so aus:
                $mypic => 0 => Breitenangabe
                       => 1 => Höhenangabe
                       => 2 => Dateityp
                       => 3 => String für HTML-Code (height=xxx width=xxx)

                Die Breite übergeben wir jetzt dem JavaScript.

                  
                onClick="window.open('../img/pioneer/pioneer.sd-1000.01.jpg','Name','toolbar=no,screenX=250,screenY=150,status=no,menubar=no,width=<?PHP  echo $mypic['0']; ?>,height=450')"  
                
                

                Soweit nachvollziebar?

                Grüße, Matze

                1. onClick="window.open('../img/pioneer/pioneer.sd-1000.01.jpg','Name','toolbar=no,screenX=250,screenY=150,status=no,menubar=no,width=<?PHP  echo $mypic['0']; ?>,height=450')"

                    
                  Wenn du das mit JS machen willst, kannst du das ganze auch nur mit JS umsetzen, wie in den Beispielen die gepostet hatte.  
                    
                  Struppi.
                  
                2. Hi Matze,

                  ok. Also wir waren ja schon soweit, dass du mit getimagesize() die Ausmaße deines Bildes ermitteln kannst.

                  Ok, das habe ich Probiert, nur wird mir kein Array geliefert,

                  <?PHP  
                  $mypic = getimagesize(nachbar.jpg);  
                  echo "$mypic";  
                  echo "<img src=\"nachbar.jpg\" {$mypic[3]}>";  
                  ?>
                  

                  Nur das Bild wird ausgegeben.

                  Den zweiten Schlüssel können wir erstmal vernachlässigen. Den dritten auch.

                  Also das mit den Array Werten soweit kenn ich ja, wir können also auch schon mit der
                  höhenangabe in [1] arbeiten, nur wie gesagt, ich bekomme kein Array zustande.

                  onClick="window.open('../img/pioneer/pioneer.sd-1000.01.jpg','Name','toolbar=no,screenX=250,screenY=150,status=no,menubar=no,width=<?PHP  echo $mypic['0']; ?>,height=450')"

                    
                  
                  > Soweit nachvollziebar?  
                    
                  Ja, nur sei gewarnt, ich hab von Javascripten noch weniger Ahnung als von PHP, aber ich lerne gern.  
                    
                  <http://nimmet.de/beispiele/bilderpopup.php>  
                    
                  Grüße,  
                  Engin  
                   GYRO
                  
                  -- 
                  ["ich bin ein Insekt, ich bin ein Insekt"](http://nimmet.de/nimmet-dateien/banjo.shtml)  
                    
                  ![](http://nimmet.de/nimmet-bilder/valigator.gif)[Der Valligator](http://old.atomic-eggs.com/old_forum/messages/237.html#a1)  
                    
                  ["I would like to buy a hamburger"](http://www.youtube.com/watch?v=x8S7x_z1w1s)
                  
                  1. Hi,

                    Ok, das habe ich Probiert, nur wird mir kein Array geliefert,

                    $mypic = getimagesize(nachbar.jpg);

                    Och Kerl - ich dachte, grundlegende PHP-Kenntnisse haettest du inzwischen? :-/

                    Wie notiert man Zeichenketten in PHP? Na ...?

                    MfG ChrisB

                    1. Hi ChrisB,

                      Och Kerl - ich dachte, grundlegende PHP-Kenntnisse haettest du inzwischen? :-/

                      Das ist aber auch alles so schwer, und ich kämpf grade an 3 oder 4 fronten. Wir versuchen ziemlich weit unten hier im Forum, Perl
                      in xampp zum laufen zu bringen.

                      Wie notiert man Zeichenketten in PHP? Na ...?

                      Das ist jetzt sicherlich der falsche Weg, ich habe es über eine Variable gemacht.

                      <?PHP  
                        
                        $nachbar_bild = 'nachbar.jpg';  
                        
                          $mypic = getimagesize($nachbar_bild);  
                        
                        echo "<img src=\"$nachbar_bild\" {$mypic[3]}>";  
                        
                      ?>
                      

                      So richtig oder akzeptabel? Die ausgabe ist ja schonmal richtig.

                      Grüße,
                      Engin
                       GYRO

                      1. Hallo,

                        <?PHP

                        $nachbar_bild = 'nachbar.jpg';

                        $mypic = getimagesize($nachbar_bild);

                        echo "<img src="$nachbar_bild" {$mypic[3]}>";

                        ?>

                        
                        >   
                        > So richtig oder akzeptabel? Die ausgabe ist ja schonmal richtig.  
                          
                        und warum nicht gleich $mypic = getimagesize('nachbar.jpg'); ?  
                        Da PHP den Punkt normalerweise für andere Sachen verwendet,  
                        musst du bescheid sagen, das er in einem String steht. Dafür die ''.  
                          
                        Grüße, Matze
                        
                        1. Hi Matze,

                          und warum nicht gleich $mypic = getimagesize('nachbar.jpg'); ?
                          Da PHP den Punkt normalerweise für andere Sachen verwendet,
                          musst du bescheid sagen, das er in einem String steht. Dafür die ''.

                          Das ist doch zum Mäuse melken, ich hätte schwören können, das ich das probiert hatte, habe es wohl nur mit "" probiert gehabt,

                          <?PHP  
                          $mypic = getimagesize('nachbar.jpg');  
                          echo "<img src=\"nachbar.jpg\" {$mypic[3]}>";  
                          ?>
                          

                          Soweit wäre das jetzt auch Ok, was kommt als nächster schritt?

                          Hab übrigens schon eine Test Seite angelegt, http://nimmet.de/beispiele/bilderpopup.php.

                          Grüße,
                          Engin
                           GYRO

                          1. Hallo,

                            Das ist doch zum Mäuse melken, ich hätte schwören können, das ich das probiert hatte, habe es wohl nur mit "" probiert gehabt,

                            <?PHP

                            $mypic = getimagesize('nachbar.jpg');
                            echo "<img src="nachbar.jpg" {$mypic[3]}>";
                            ?>

                            
                            >   
                            > Soweit wäre das jetzt auch Ok, was kommt als nächster schritt?  
                              
                            Ich dachte es ging dir um das Popup? Du gibst das Bild aber nur aus.  
                            Der Code für den Link zum Popup müsste in deinem Fall z.B. so aussehen:  
                            ~~~php
                            <?PHP  
                            $mypic = getimagesize('nachbar.jpg');  
                            ?>
                            
                              
                            <a href"#" onClick="window.open('nachbar.jpg','Name','toolbar=no,screenX=250,screenY=150,status=no,menubar=no,width=[code lang=php]<?PHP  echo $mypic['0'].',height='.$mypic['1']; ?>
                            ~~~')">Pop up!</a>  
                            [/code]  
                              
                            Hatte ich dir bereits geschrieben.  
                            So solltest dein Popup in Bildgröße hin bekommen.  
                            Oder wolltest du noch etwas anderes?  
                              
                            Grüße, Matze
                            
                            1. Hi Matze,

                              Ich dachte es ging dir um das Popup? Du gibst das Bild aber nur aus.
                              Der Code für den Link zum Popup müsste in deinem Fall z.B. so aussehen:

                              Hatte ich dir bereits geschrieben.
                              So solltest dein Popup in Bildgröße hin bekommen.
                              Oder wolltest du noch etwas anderes?

                              Die ausgabe mit <img src hatte ich nur gemacht, um mir die ausgabe zu verdeutlichen,
                              eigentlich meinte ich ein Popup öffnen, dessen Grösse sich nach seinem "Inhalt" richtet.

                              Z.b. habe ich ein Popup, in dem ein Weiterempfehlen Script aufgerufen wird,
                              die width und height für dieses Popup muss ich ja von vornherein festlegen, das würde ich gern Dynamisch haben.

                              Grüße,
                              Engin
                               GYRO

                        2. Hi,

                          und warum nicht gleich $mypic = getimagesize('nachbar.jpg'); ?
                          Da PHP den Punkt normalerweise für andere Sachen verwendet,
                          musst du bescheid sagen, das er in einem String steht. Dafür die ''.

                          Nee, nicht dafuer - sondern um nachbar.jpg generell als Textliteral auszuzeichnen.
                          Es sei denn, du haettest zwei Konstanden namens nachbar und jpg definiert - dann wuerden deren Werte in der Notation ohne Anfuehrungszeichen durch den Verkettungsoperator . verkettet.

                          MfG ChrisB

  2. leider weiß ich nicht wie was einbauen muß, ich möchte das sich das fenster automatisch dem bild anpasst, wie mache ich das?

    Das ist nicht so trivial, ich habe das mal vor Jahren ausprobiert. Heutzutage löst man sowas aber anders, guck dir mal die lightbox an.

    Struppi.

    1. Hallo,

      Das ist nicht so trivial, ich habe das mal vor Jahren ausprobiert.

      also bei dem ersten Beispielbild erscheint das Popup in Größe des Bildes vom zweiten Beispielbild. (Firefox 2.0.0.11)
      Da stimmt wohl irgendwas nicht.

      Im übrigen wüsste ich nicht wie man das mit JavaScript löst.
      So viel Ahnung hab ich dann davon auch nicht.
      Mich würde das Stück PHP nicht stören, auch wenn deine Lösung mehr funktionalität bietet. Popup bei Klick schließen z.B.
      Obwohl ich das in dem Fall noch nichtmal für so wichtig halte.

      Grüße, Matze

      1. Das ist nicht so trivial, ich habe das mal vor Jahren ausprobiert.

        also bei dem ersten Beispielbild erscheint das Popup in Größe des Bildes vom zweiten Beispielbild. (Firefox 2.0.0.11)
        Da stimmt wohl irgendwas nicht.

        Kann ich nicht nachvollziehen, mit exakt dem gleichen Browser.

        Im übrigen wüsste ich nicht wie man das mit JavaScript löst.

        Ich schrieb ja es ist nicht trivial, geht aber.

        Mich würde das Stück PHP nicht stören, auch wenn deine Lösung mehr funktionalität bietet. Popup bei Klick schließen z.B.
        Obwohl ich das in dem Fall noch nichtmal für so wichtig halte.

        Ich schon, da mich so Galerien eher nerven, wo man erst das Fenster "von Hand" schliessen muss.
        ausserdem kann das Popup zentriert werden und das Popup schliesst automatisch wenn man die Hauptseite verläßt.

        Struppi.

        1. Hallo,

          also bei dem ersten Beispielbild erscheint das Popup in Größe des Bildes vom zweiten Beispielbild. (Firefox 2.0.0.11)
          Da stimmt wohl irgendwas nicht.

          Kann ich nicht nachvollziehen, mit exakt dem gleichen Browser.

          Grüße, Matze

          1. Kann ich nicht nachvollziehen, mit exakt dem gleichen Browser.

            Kann es sein, dass du eingestellt hast, dass JS nicht die Größe von Popupfenster ändern darf?

            Das ist einer der Gründe warum eine Lightbox heutzutage sinnvoller ist

            Struppi.

            1. Hallo,

              Kann es sein, dass du eingestellt hast, dass JS nicht die Größe von Popupfenster ändern darf?

              stimmt, hab ich. Wobei ich mir grad überlege ob dein Popup oder das Bild im Popup die falsche Größe hat.

              Das ist einer der Gründe warum eine Lightbox heutzutage sinnvoller ist

              Wenn möglich versuche ich sowas ganz zu vermeiden. Wenn es speziell gewünscht wurde, hab ich Popups verwendet und auf deren Nachteile hingewiesen. Die Frage nach der Lightbox kam bei mir noch nie auf.

              Grüße, Matze

              1. Kann es sein, dass du eingestellt hast, dass JS nicht die Größe von Popupfenster ändern darf?

                stimmt, hab ich. Wobei ich mir grad überlege ob dein Popup oder das Bild im Popup die falsche Größe hat.

                Das Popup wird an das Bild angepaßt nachdem es geladen ist. Man könnte es auch umgehrt machen, dann muss das Skript aber noch etwas erweitert werden.

                Das ist einer der Gründe warum eine Lightbox heutzutage sinnvoller ist

                Wenn möglich versuche ich sowas ganz zu vermeiden. Wenn es speziell gewünscht wurde, hab ich Popups verwendet und auf deren Nachteile hingewiesen. Die Frage nach der Lightbox kam bei mir noch nie auf.

                Obwohl es die Nachteile nicht hat?

                Struppi.

                1. Hallo,

                  Wenn möglich versuche ich sowas ganz zu vermeiden. Wenn es speziell gewünscht wurde, hab ich Popups verwendet und auf deren Nachteile hingewiesen. Die Frage nach der Lightbox kam bei mir noch nie auf.

                  Obwohl es die Nachteile nicht hat?

                  das habe ich falsch formuliert.
                  "Mir wurde die Frage noch nie gestellt." wäre besser gewesen.
                  Ich hatte also noch nie Bedarf danach.

                  Grüße, Matze

                  1. Wenn möglich versuche ich sowas ganz zu vermeiden. Wenn es speziell gewünscht wurde, hab ich Popups verwendet und auf deren Nachteile hingewiesen. Die Frage nach der Lightbox kam bei mir noch nie auf.

                    Obwohl es die Nachteile nicht hat?

                    das habe ich falsch formuliert.
                    "Mir wurde die Frage noch nie gestellt." wäre besser gewesen.
                    Ich hatte also noch nie Bedarf danach.

                    Wieso?
                    Du musstest doch auf die Nachteile hinweisen, in so einem Fall wäre es natürlich durchaus sinnvoll auf eine Technik zu verweisen, die die Nachteile nicht hat.

                    Zumal Popups noch mehr Nachteile haben, ich hab mir gerade Gedanken gemacht, warum mein Popupskript nachdem laden des Bildes das Popup an die Bildgröße anpasst und nicht einfach das popup in der Größe öffnet, das liegt daran, dass jeder Browser die width/height Angaben in window.open() anders berechnet, d.h. je nach Browser paßt das Bild in das Popup oder auch nicht. Also selbst die Methode die Größe mit PHP zu berechnen ist unzuverlässig.

                    Struppi.

                    1. Hallo,

                      Wieso?
                      Du musstest doch auf die Nachteile hinweisen, in so einem Fall wäre es natürlich durchaus sinnvoll auf eine Technik zu verweisen, die die Nachteile nicht hat.

                      ok du willst es also unbedingt wissen?^^
                      Ich finde sie einfach nur hässlich und störend.
                      Vor allem weil damit fast nur noch Werbeflächen produziert werden.
                      Ich verschweige dem potentiellen Kunden auch ganz andere Möglichkeiten die man so hat... ;)
                      Häufig zum Beispiel die Vorteile eines "liquid Layouts" wenn ich ein super fixes fabriziert habe und der Kunde zufrieden ist.

                      Zumal Popups noch mehr Nachteile haben, ich hab mir gerade Gedanken gemacht, warum mein Popupskript nachdem laden des Bildes das Popup an die Bildgröße anpasst und nicht einfach das popup in der Größe öffnet, das liegt daran, dass jeder Browser die width/height Angaben in window.open() anders berechnet, d.h. je nach Browser paßt das Bild in das Popup oder auch nicht. Also selbst die Methode die Größe mit PHP zu berechnen ist unzuverlässig.

                      Achso?! Ich dachte da wären sich die Browser einig.
                      Inwiefern unterscheiden sich die Browser denn da?
                      Auf jeden Fall wird das Script mit PHP ne ganze Ecke kürzer^^

                      Grüße, Matze

                      1. Wieso?
                        Du musstest doch auf die Nachteile hinweisen, in so einem Fall wäre es natürlich durchaus sinnvoll auf eine Technik zu verweisen, die die Nachteile nicht hat.

                        ok du willst es also unbedingt wissen?^^
                        Ich finde sie einfach nur hässlich und störend.

                        Eine Lightbox?
                        Ich finde die sehe eleganter aus als ein Popup.

                        Vor allem weil damit fast nur noch Werbeflächen produziert werden.

                        Aus dem Grund gibt es Popupblocker, weil damit über Jahre fast nur Werbung berbreitet wurde.

                        Ich verschweige dem potentiellen Kunden auch ganz andere Möglichkeiten die man so hat... ;)
                        Häufig zum Beispiel die Vorteile eines "liquid Layouts" wenn ich ein super fixes fabriziert habe und der Kunde zufrieden ist.

                        "Der Kunde" ist in dem Bereich relativ, im Prinzip sind es die Besucher und Nutzer der Seite. Und ich bin lieber Besucher einer Seite, wo der Entwickler  sich Gedanken über meine Browsereinstellungen gemacht hat und nicht wie bei den leider viel zu häufigen fixen Seiten, wo mich entweder Scrollbalken anlachen oder grosse kahle Flächen anöden.

                        Zumal Popups noch mehr Nachteile haben, ich hab mir gerade Gedanken gemacht, warum mein Popupskript nachdem laden des Bildes das Popup an die Bildgröße anpasst und nicht einfach das popup in der Größe öffnet, das liegt daran, dass jeder Browser die width/height Angaben in window.open() anders berechnet, d.h. je nach Browser paßt das Bild in das Popup oder auch nicht. Also selbst die Methode die Größe mit PHP zu berechnen ist unzuverlässig.

                        Achso?! Ich dachte da wären sich die Browser einig.

                        Nein. Ich weiß nicht wie es bei aktuellen Browsern ist, müßtest du eigentlich mit deiner Version testen können.

                        Inwiefern unterscheiden sich die Browser denn da?

                        Als ich das Skript entwickelt habe, lagen die Unterschiede vor allem darin, dass manche den Rahmen zur Breite dazu addierten andere die Größe nur auf die Darstellungsfläche bezogen.

                        Auf jeden Fall wird das Script mit PHP ne ganze Ecke kürzer^^

                        Das bezweifle ich. Wenn du das was du jetzt mit PHP gemacht hast (also window.open() mit der Größe des Bildes öffnen) mit JS umsetzt, sind das nur wenige Zeilen und du musst das HTML nicht dynamisch erzeugen.
                        So wie du es jetzt gemacht

                        Struppi.

                        1. Hallo,

                          ok du willst es also unbedingt wissen?^^
                          Ich finde sie einfach nur hässlich und störend.

                          Eine Lightbox?
                          Ich finde die sehe eleganter aus als ein Popup.

                          "eleganter" ist nicht gleich "Elegant". In meinen Augen ist es immernoch etwas, das die von mir angewählte Seite (meißt) ungewollt überdeckt. Und schlimmer als ein kleines Popup, welches vielleicht nur einen Teil der HP verdeckt und in den Hintergrund geschoben werden kann.
                          Stell dir mal die Forumshilfe hier in einem Popup vor.
                          Da könnte der geneigte Anfänger beim Tippen seiner Frage oder Antwort immer zwischendurch nachschauen wie z.B. Links formatiert werden.
                          Gut, das geht auch in einem extra Tab.
                          Aber alles besser als so eine Lightbox finde ich.
                          Kommt wahrscheinlich auf den Einsatz an.

                          Ich verschweige dem potentiellen Kunden auch ganz andere Möglichkeiten die man so hat... ;)
                          Häufig zum Beispiel die Vorteile eines "liquid Layouts" wenn ich ein super fixes fabriziert habe und der Kunde zufrieden ist.

                          "Der Kunde" ist in dem Bereich relativ, im Prinzip sind es die Besucher und Nutzer der Seite. Und ich bin lieber Besucher einer Seite, wo der Entwickler  sich Gedanken über meine Browsereinstellungen gemacht hat und nicht wie bei den leider viel zu häufigen fixen Seiten, wo mich entweder Scrollbalken anlachen oder grosse kahle Flächen anöden.

                          Nun, man kann ja auch noch em-Angaben benutzen.
                          Und kahle Flächen kenn ich eigentlich nur von Vollbild-Layouts,
                          deren Inhalt auf einem Rechner mit 800x600 erstellt wurde.

                          Inwiefern unterscheiden sich die Browser denn da?

                          Als ich das Skript entwickelt habe, lagen die Unterschiede vor allem darin, dass manche den Rahmen zur Breite dazu addierten andere die Größe nur auf die Darstellungsfläche bezogen.

                          Ich meinte die Browser nehmen immer den Viewport als Maßstab. Also ohne Rahmen.
                          Stimmt, dann taugt meine Lösung auch nicht mehr so viel :)

                          Grüße, Matze