Gremlin: window.open

Hallo, ich habe da eine kleine Frage bezüglich einer Javascript Funktion. Ich hab mir da was zusammengesponnen, aber es funktioniert nicht (wieso auch^^) da das ganze nur aus Copy and Paste entstanden ist :P
Ich habe eine Funktion die Bilder, die mit den BB-Code Tags (img) gepostet wurden und eine proportionale Größe überschreiten automatisch in der Größe reduziert werden. Mit einem Klick darauf wird eine neue Seite geöffnet mit dem Originalbild.
Das Problem dabei ist, dass auch Bilder die nicht die Proportion überschreiten (und somit auch nicht verkleinert werden) ebenfalls per Klick in einem neuen Fenster geöffnet werden können. Was besonders bei Smilies und Signaturen sehr nervig ist.
Zuerst einmal der Original Code aus den Weiten des Inets:

<script type="text/javascript">
function RePix(Pix) {
var Pc = 50;
if (Pix.width > (screen.width/100*Pc)) {
RePixW(Pix,Pc);
RePixH(Pix,Pc);
}
}
function RePixW(Pix,Pc) {
Pix.width = (Pix.width/(Pix.width/(screen.width/100*Pc)));
}
function RePixH(Pix,Pc) {
Pix.width = (Pix.height/(Pix.height/(screen.height/100*Pc)));
}
</script>

<img src='{URL}' border='0' onload="RePix(this)" onclick="javascript:window.open('{URL}','','scrollbars=1,toolbar=0,resizable=1,menubar=0,directories=0,status=0')" title="Zum vergrößern auf das Bild klicken" alt="Zum vergrößern auf das Bild klicken" />

Das ist nun meine abgeänderte Version, die aber nicht funktioniert:

<script type="text/javascript">
function open_link(window) {
var Pc = 50;
if (Pix.width > (screen.width/100*Pc)) {
link(window,Pc);
}
}
function link(window,Pc) {
window.open = ();
}
</script>

<img src='{URL}' border='0' onload="RePix(this)" onclick="open_link('{URL}','','scrollbars=1,toolbar=0,resizable=1,menubar=0,directories=0,status=0')" title="Zum vergrößern auf das Bild klicken" alt="Zum vergrößern auf das Bild klicken" />

So stehts dann in der Datei:

<script type="text/javascript">
function RePix(Pix) {
var Pc = 50;
if (Pix.width > (screen.width/100*Pc)) {
RePixW(Pix,Pc);
RePixH(Pix,Pc);
}
}
function RePixW(Pix,Pc) {
Pix.width = (Pix.width/(Pix.width/(screen.width/100*Pc)));
}
function RePixH(Pix,Pc) {
Pix.width = (Pix.height/(Pix.height/(screen.height/100*Pc)));
}
</script>
<script type="text/javascript">
function open_link(window) {
var Pc = 50;
if (window.width > (screen.width/100*Pc)) {
link(window,Pc);
}
}
function link(window,Pc) {
open = window.open;
}
</script>
<img src='{URL}' border='0' onload="RePix(this)" onclick="open_link('{URL}','','scrollbars=1,toolbar=0,resizable=1,menubar=0,directories=0,status=0')" title="Zum vergrößern auf das Bild klicken" alt="Zum vergrößern auf das Bild klicken" />

Im Chat wurde mir schon geholfen, jetzt kommt keine Meldung mehr im IE, aber funktionieren tut es trotzdem nicht :(
(Bild wird kleiner, aber beim klicken = nichts)

  1. Jetzt kommt schon, kann doch nicht sein dass diesen Thread jeder übersehen hat? Ich hab kein Bock mehr massenweise Tut´s u. Infos zu wälzen um dann zu sehen dass es eh nichts nützt...

    1. n'abend,

      Jetzt kommt schon, kann doch nicht sein dass diesen Thread jeder übersehen hat?

      Den hat garantiert keiner überlesen. Es wird nur vermutlich keiner Interesse daran gehabt haben deine Frage zu beantworten(, weil dein Fragestil eher unbrauchbar ist).

      Ich hab kein Bock mehr massenweise Tut´s u. Infos zu wälzen um dann zu sehen dass es eh nichts nützt...

      Mit der Einstellung kommst du hier nicht weit. Wenn du willst, dass dir jemand eine fertige Lösung präsentiert, musst du ihn schon dafür bezahlen. Hier gibt jeder sein wissen *kostenlos* her, aber unter der Prämisse, dass sich der Fragende auch entsprechend mitarbeitet.

      Sofern sich deine Einstellung diesbezüglich nicht ändert, schreibe mich in #selfhtml bitte nicht mehr an. Ich helfe, wenn jemand etwas nicht versteht. Wenn ich deine Arbeit verrichten soll, darfst du mir gerne einen Auftrag erteilen und mich entsprechend bezahlen.

      weiterhin schönen abend...

      --
      #selfhtml hat ein Forum?
      sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|
  2. n'abend,``

    Hallo, ich habe da eine kleine Frage bezüglich einer Javascript Funktion. Ich hab mir da was zusammengesponnen, aber es funktioniert nicht (wieso auch^^) da das ganze nur aus Copy and Paste entstanden ist :P

    »Copy and Paste« hat halt sehr oft den Nachteil, dass man *keine* Ahnung hat, was man da eigentlich gerade zusammenstückelt.

    function resize( image )  
    {  
      // tolerated space used on screen (in percent)  
      var tolerated = 50;  
      
      // resize image if it's wider than tolerated  
      if ( image.width > ( screen.width / 100 ) * tolerated )  
      {  
        var actualWidth = image.width;  
        var actualHeight = image.height;  
      
        // adjust width to fit in tolerated space  
        image.width = image.width / ( image.width / ( (screen.width / 100) * tolerated ) )  
        // we don't need to adjust height, since browsers do that automatically  
      
        // add link to open full-size-image  
        image.onclick = function()  
        {  
          window.open( image.src, 'enlargedImage', 'width='+ actualWidth +',height='+ actualHeight +',scrollbars=1,toolbar=0,resizable=1,menubar=0,directories=0,status=0' );  
        };  
      }  
    }
    

    <img src='{URL}' border='0' onload="resize(this)" title="Zum vergrößern auf das Bild klicken" alt="Zum vergrößern auf das Bild klicken" />

    wende die Funktion resize() auf ein Bild an. Wird es "zurechtgestutzt" wird auch ein onclick-handler eingesetzt, damit das Bild in Originalgröße geöffnet werden kann.

    weiterhin schönen abend...

    --
    #selfhtml hat ein Forum?
    sh:( fo:# ch:# rl:| br:> n4:& ie:{ mo:} va:) de:] zu:} fl:( ss:? ls:[ js:|