Popups - Größe verändern unterbinden

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

      Popups - Größe verändern unterbinden

      Danke an RafaelHensler, der mich auf die Idee gebracht hat!

      Manchmal ist es nicht unbedingt toll, wenn die User an den Fenstergrößen der Popups rumschrauben können. Mit folgendem Hack kann der Admin selbst definieren, ob dies erlaubt ist oder nicht. Diese Funktion ist für alle Fenster gedacht, die durch openWindow geöffnet werden sollen, kann aber nach Belieben auch anders verwendet werden.

      Öffne dazu chat.js und suche:

      Quellcode

      1. function openWindow(template,width,height)


      Ersetze durch:

      Quellcode

      1. function openWindow(template,width,height,resize)


      Suche:

      Quellcode

      1. return openCenteredWindow((window.cgi || parent.cgi)+'&template='+template,template.replace(/[^a-zA-Z0-9]/g,''),width,height);


      Ersetze durch:

      Quellcode

      1. if (!resize)
      2. var resize = 'yes';
      3. return openCenteredWindow((window.cgi || parent.cgi)+'&template='+template,template.replace(/[^a-zA-Z0-9]/g,''),width,height,resize);


      Suche:

      Quellcode

      1. function openCenteredWindow(url,name,width,height)


      Ersetze durch:

      Quellcode

      1. function openCenteredWindow(url,name,width,height,resize)


      Suche:

      Quellcode

      1. var wnd = window.open(url,name,'resizable=yes,scrollbars=yes,width='+width+',height='+height+',left='+left+',top='+top);


      Ersetze durch:

      Quellcode

      1. var wnd = window.open(url,name,'resizable='+resize+',scrollbars=yes,width='+width+',height='+height+',left='+left+',top='+top);


      Fertig!

      Möchte man nun ein Fenster mit openWindow() öffnen, steht Einem der Parameter resize nun zur Verfügung. Hier ein Beispiel:

      Quellcode

      1. <a href="javascript:void(0)" onclick="openWindow('smileys',200,480,'no');return false;" class="stdlink">Smileys</a>


      Hier ist nun neben den Größenangaben des Fensters der neue Parameter eingesetzt und wird mit no gefüllt d.h. das Popup ist nicht veränderbar. Gibt man keinen Parameter an, hat das den Effekt, als würde man yes angeben d.h. Größenänderungen wären erlaubt. Dafür reicht der Aufruf:

      Quellcode

      1. <a href="javascript:void(0)" onclick="openWindow('smileys',200,480);return false;" class="stdlink">Smileys</a>


      Der Hack hat also keinen Einfluss auf bestehende Popups d.h. es müssen keine Änderungen durchgeführt werden, wenn man nicht vor hat, die Größenänderungen zu verbieten. Man kann auch der Einfachheit halber das Gegenteil erzielen, indem man folgende Zeile ändert:

      Quellcode

      1. var resize = 'yes';


      ändern in:

      Quellcode

      1. var resize = 'no';


      Nun werden alle Größenänderungen verboten und können nur durch Angabe von yes aktiviert werden:

      Quellcode

      1. <a href="javascript:void(0)" onclick="openWindow('smileys',200,480,'yes');return false;" class="stdlink">Smileys</a>


      Das wars ;)

      Zum Eintrag in der Datenbank