MudGuard: Wo liegt der Fehler?

Beitrag lesen

Hi,

function PopUp()
{
var breite=800;
var hoehe=600;
var positionX=((screen.availWidth / 2) - breite / 2);
var positionY=((screen.availHeight / 2) - hoehe / 2);

Das sieht verdächtig danach aus, als ob ein "Fullscreen" im Nachhinein auf halbe Bildschirmgröße reduziert werden soll. Bitte mal in http://selfhtml.teamone.de/javascript/objekte/screen.htm#avail_width ein bißchen nachlesen.

Nein. Wenn Du Code nicht verstehst, kommentiere ihn nicht.

Hier wird versucht, das Popup der Größe 800 * 600 zu zentrieren.

pop=window.open('','', 'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,fullscreen=0,width='+breite+',height='+hoehe+',top=10000,left=10000');
Hier solltest du bitte die "Hochkommas" dringlich überdenken. In dieser Form, wie du es gepostet hast, müßte es eigentlich (fast) zu einem Systemabsturz kommen.

Warum sollte gewöhnliche String-Konkatenation zu einem Systemabsturz führen?

Hinter "width='" ist das Argument einfach zu Ende, das heißt, " +breite+',height='+hoehe+',top=10000,left=10000'); " kann eigentlich von einem vernünftigen Browser gar nicht mehr berücksichtigt werden.

Wie bereits gesagt: Wenn Du Code nicht verstehst, kommentiere ihn nicht.

Ganz abgesehen davon, daß mir die Notation "top=10000,left=10000'" auch nicht so recht einleuchten will.

Ja, sinnvoller wäre es hier gewesen, die bereits berechnete Position direkt einzusetzen...

<a href="#" onClick="PopUp()">Fenster öffnen</a>

Hm, _das_ ist allerdings vernünftig, erstaunlicherweise.

Nein, das ist nicht vernünftig, denn ohne Javascript ist der Popup-Inhalt unerreichbar.

cu,
Andreas

--
MudGuard? Siehe http://www.Mud-Guard.de/