Popup größe automatisch anpassen

  • hallo zusammen, ich benutze folgenden code um bilder in einem popup anzeigen zu lassen.

    Code
    <script type="text/javascript"> 
    function popUp1(bildurl) 
    { 
       props="locationbar=no,menubar=no,scrollbars=no,resizable=yes,status=no,width=660,height=450"; 
       fenster = window.open(bildurl,"", props) 
       fenster.focus(); 
    } 
    </script>

    wie kann ich das so einstellen, das sich das geöffnete popup automatisch an die größe des zu ladenden bildes anpasst?
    außerdem habe ich zwischen dem fensterrand vom popup und dem bild immer nen weißen zwischenraum, bekommt man den auch weg?


    danke

  • bei dem rand bin ich etwas überfragt...

    aber des anpassen funkt nicht automatisch. du müsstest höchstens vom link
    aus noch die höhe und breite übergeben. momentan gibst ja nur die bildurl
    mit, und da dann eben noch heigth und width anfügen...

  • Hallo,
    schließe mich mal an :).

    Ich habe bereits hier etwas dazu gefunden, schaff es allerdings irgendwie nicht die Java-Scripts einzubinden :(.

    Auf der Seite ist es so, dass es zwei Dateien "popup.js" und "add_event.js" gibt, die extern auf dem Server gespeichert sind gibt.

    Nun würde ich das ganze aber gern für meine Ebay-Bilder hernehmen und natürlich habe ich nicht die möglichkeit das bei Ebay nochmal extra zu speichern, bzw. macht das in dem Fall ja auch eigentlich überhaupt keinen Sinn - deshalb würde ich die Beiden Scripte gern direkt mit in die Beschreibung reinpacken, was aber leider noch nicht so funktioniert wie ich mir das vorstelle :?.


    Hier mal das Ergebnis meines Versuches:

    Ich habe den Code über diese Seite getestet, wobei es dann leider immer so war, dass das Bild überhaupt nicht als Popup, sondern einfach im selben Fenster aufging :( .

  • nein, Java ist nicht generell unzulässig :).
    Unzulässig sind:

    - Skripte, die vertrauliche Mitgliederdaten wie zum Beispiel das Passwort abfragen.
    - Skripte, die den Benutzer von eBay zu anderen Internet-Angeboten weiterleiten.
    - Skripte, die Inhalte außerhalb der Artikelbeschreibung überschreiben.
    - Skripte, die extern liegende Skripte oder Seiten aufrufen oder Inhalte an diese Seiten senden (z.B. über JavaScript Includes oder Iframes).
    - Skripte, die Cookies setzen oder auslesen.
    - Skripte, die automatisch Pop-up-Fenster oder MS-Assistenten generieren.
    - Skripte, durch die automatisch aktive Inhalte von anderen Computern heruntergeladen werden (ausgenommen ist Macromedia Flash).
    - Skripte, mit denen Einträge in der Registry geändert werden oder Skripte, die auf eine andere Art Daten auf die Festplatte des Benutzers schreiben.
    - Skripte, über die automatisch Daten an andere Skripte von eBay gesendet werden.

    Quelle: http://pages.ebay.de/help/sell/skri…lfe.html#link02

    Es sind nur Script verboten, die automatisch ein Popup öffnen, solche bei denen man erst auf ein Bild klicken muss sollten also generell erlaubt sein 8)
    und die anderen Verbote, wie z.B. vertrauliche Daten abfragen, Registery ändern usw. sollte zumindest meiner Meinung nach sowiso auf diesen Script nicht zutreffen...

  • zum thema des gastes:
    drivers möglichkeit erscheint auch mir die einzig funktionierende.. du musst im link die entsprechende größe übergeben, da javascript nicht daten aus einem ordner raussuchen kann und auch nicht die metadaten einer datei (also größe, autor, erstellungsdatum, usw) auslesen kann...

    die andere möglichkeit wäre alle daten in ein array zu speichern und dementsprechend dann die einzelnen indizes des entsprechenden arrays auszulesen.

    ich weiß net obs mit ner if-anweisung oder nem switch geht , könnte aber auch klappen, nur is des dann urig lang das script.

    poste mal bitte hier die dateinamen und urls von 3 verschieden großen bildern (können auch 4 bis 6 sein^^)
    dann schau ich mal ob man die größe auch anders ändern kann.
    beeille dich, ich hab heut noch etwas zeit dafür!

    @adler:

    Zitat von Adler313

    nein, Java ist nicht generell unzulässig :).
    ......

    java ist NICHT javascript
    das eine ist eine objektorientierte programmiersprache(JAVA) das andere eine objektbasierende scriptsprache(javascript)ich finds schade, daß du keinen eigenen thread eröffnet hast für dein problem....
    das eigentliche problem von patrick weinberg wird so irgendwie in den hintergrund verdrängt


    edit:das problem ist nicht ganz so trivial, wie es scheint...!
    du willste ja auch die ränder weghaben....
    also um es mal kurz zu erklären, man kann nicht auf ein "document" im fenster zugreifen, wenn man direkt ein bild als url angibt, ich werd das script gleich mal etwas modifizieren, daß da nen document drin ist, so kann man auch styles einfügen und bilder ohne rand zentrieren...(hoffe ich)wenn ich fertig bin schreib ich nen neues posting in diesem thread, da das hier sonst zu unübersichtlich wird!
    mein beispielcode wird dann deine, drivers und meine variante enthalten...

  • so, hier mal die lösung zu deinem problem:

    das ganze sieht dann so aus:http://home.arcor.de/synaptic/hilfe/variable_pops.html

    wie du siehst funktioniert drivers möglichkeit genausogut, wie meine case-variante, nur ist bei drivers variante definitiv weniger code notwendig...
    es gibt natürlich auch die möglichkeit die ganzen folgenden bilder im gleichen popup zu öffnen...

  • synaptic: Vielen Dank für deine Hilfe :).
    Deine Lösung sieht grundsätzlich schon mal gut aus 8).
    Allerdings ist mir aufgefallen, das du bei allen 3 Varianten jeweils konkret die Größe mit reingeschrieben hast - schöner wäre es, wenn man das nicht bräuchte - für ein paar Bilder ist das sicherlich eine gute Lösung, wenn man aber immerwieder neue Bilder hat, ist es schon recht aufwendig und es könnte auch leicht zu Fehlern kommen...

    Zitat

    ich finds schade, daß du keinen eigenen thread eröffnet hast für dein problem....
    das eigentliche problem von patrick weinberg wird so irgendwie in den hintergrund verdrängt

    Hmm, ich hab auch schon darüber nachgedacht ein neues Thema aufzumachen, aber letztednlich habe ich ja ganz genau exakt das selbe Problem wie patrick weinberg.
    Ich habe ürsprünglich sogar exakt das selbe Script, wie er in seinem Anfangspostin stehen hat verwendet und habe mir genau wie er auch die Frage gestellt, wie ich das so hinbekommen kann, dass sich die Größe des Popups automatisch an die größe des zu ladenden bildes anpasst :lol: .
    Dannach bin ich aber nicht so wie er hergegangen und hab mein Problem gleich hier reingeschrieben, sondern hab erstmal google angeschmissen und bin nach einigem Suchen auf das Script, welches ich hier gepostet habe gestoßen 8) .

    Ich muss jetzt aber nicht unbedingt eine Lösung haben, die sich auf das bezieht, was ich gepostet habe - denn meine eigentliche Fragestellung lautet immernoch: "wie kann ich das so einstellen, dass sich das geöffnete popup automatisch an die größe des zu ladenden bildes anpasst?" :wink:

  • Zitat von synaptic

    drivers möglichkeit erscheint auch mir die einzig funktionierende.. du musst im link die entsprechende größe übergeben, da javascript nicht daten aus einem ordner raussuchen kann und auch nicht die metadaten einer datei (also größe, autor, erstellungsdatum, usw) auslesen kann...

    es gibt keine möglichkeit die daten der höhe und breite aus der datei auszulesen....!

  • Zitat

    es gibt keine möglichkeit die daten der höhe und breite aus der datei auszulesen....!

    Und wie erklärst du mir dann bitte, warum das Java-Script von der Seite "Javascript ist Toll" funktioniert?!
    Hat das dann ne gut funktionierende Glaskugel integriert oder wie :lol: ?!

    Teste mal folgendes mit dieser Testseite und du wirs sehen das es funktioniert 8) .
    (die Bilder stammen von mir und ich habe auch nirgends eine Größenangabe eingefügt)
    einziges Problem bei der Sache ist halt nur, dass das eigentliche Script noch auf der Javasript-ist-toll-Seite liegt, was natürlich nicht so bleiben kann :?.

    Code
    <script type="text/javascript" src="http://javascript.jstruebig.de/js/add_event.js"></script>
    <script type="text/javascript" src="http://javascript.jstruebig.de/js/popup.js"></script>
    
    
    
    
    [url='http://img518.imageshack.us/img518/2434/gronm4.jpg'][img]http://img518.imageshack.us/img518/4340/kleinde3.jpg[/img][/url]
  • aßerdem kann man jedes bild auch in ner bestimmten größe anzeigen, will sagen nen bild mit 1024 x 768 kann ich auch in 600 x 800 zeigen...

    wenn du konkrete fragen in bezug zu javascript hast, schreib mich per pn an

  • Zitat

    da wird ja auch ne höhe festgelegt....

    Hmm, dass das drin steht stimmt schon, aber es wirkt sich nicht auf das letztendlich fertige Popup aus - was ich mir ehr vorstellen könnte ist, dass das die Größe des ursprünglichen Popups angibt (wenn man auf ein Bild klickt kommt ein Popup, das eigentlich immer gleich groß ist - erst sobald das Bild komplett geladen ist passt sich das Popup nochmal an die tatsächliche Größe des Bildes an...)

    Ich habe gerade nochmal mit vollkommen unterschiedlich goßen Bildern getestet:


    und bin wieder zu dem Ergebnis gekommen, dass es immer so dargestellt wird, wie ich es mir vorstelle, egal ob es nun sehr groß, sehr klein, schmal oder breit ist, das Popup ist immer genauso groß wie das Bild.

    synaptic: Natürlich kann man Bilder je nach Belieben auch in einer bestimmten, vordefinierten Größe anzeigen, dass ist aber bei dem was ich hier gepostet habe devinitiv nicht der Fall - es passt sich nicht das Bild an das Popup an, sondern so wie es sein soll das Popup an das Bild!
    Wenn ich ein sehr kleines Bild verlinke, dann kommt auch nur ein sehr kleines Popup in der Mitte vom Bildschirm und wenn ich ein sehr großes Bild verlinke, dann kommt auch ein großes Popup, welches fast den kompletten Bildschirm braucht usw.

    Ich kann euch jetzt nicht erklären, warum und weshalb das jetzt funktioniert (dazu hab ich einach zu wenig Ahnung von der ganzen Materie :( ), aber ich kann devinitiv sicher sagen, dass es funktioniert.

    Ich muss dazu vielleicht aber auch noch sagen, dass sich meine bisherigen Tests auf Firefox beziehen.
    Gerade eben habe ich auch mal mit dem Internet Explorer 7 getestet und musste feststellen, dass es dort nicht ganz so perfekt wie im Firefox funktioniert - bei den kleineren Bildern scheint es auch zu klappen, aber bei den größeren wird das Popup leider kleiner als das Bild darin :? .

  • Zitat von synaptic

    es gibt keine möglichkeit die daten der höhe und breite aus der datei auszulesen....!

    schonmal was von PhP und getimagesize
    gehört ?
    Beispiel

    Das ganze könnte dann so aussehen..

    PHP
    <?php	$groesse = getimagesize('galerie/popup/austattung/Austattung1.jpg');
    	echo'<a class="lightit" href="galerie/popup/austattung/Austattung1.jpg" onclick="return foto('.$groesse[0].','.$groesse[1].',this.href)">
    	[img]thumbnails/austattung1.jpg[/img]</a>';?>