Microsoft lernt nicht aus ihren Fehlern: Im IEBlog, dem Developer Blog für den Internet Explorer 7, kündigt der Konzern eine Veränderung eines JavaScript Befehls an.

window.showModalDialog wird ab jetzt nicht mehr die Dimensionen des Fensters als Variablen akzeptieren, sondern diese Werte als Parameter für das Viewport (auch bekannt als “chrome”) verwenden.

Vergleich von window.showModalDialog

An Backwardscompatibility hat da wohl niemand gedacht, dementsprechend findet man auch wütende Posts in den Kommentaren.

Webmaster müssen ihren JavaScript-Code mit Hilfe der eingebauten Weichen wieder beheben:

<!-- Code in the calling window (the window that opens the child window)
Note: your code probably assumes the "adjusted" height/width already -->
<script type="text/javascript">
// Setup variables...
var desired_width = x;
var desired_height = y;
</script>
<!--[if gte IE 7]><script type="text/javascript">
// Just make the window how big you want your content...
window.showModalDialog("about:Blank", null, "dialogWidth:" + desired_width + "px;dialogHeight:" + desired_height + "px");
</script><![endif]-->
<!--[if lt IE 7]><script type="text/javascript">
var title_bar_estimated = 29; // 29 pixels or so for XP, 22 for Win2K...etc.
var chrome_thickness_estimated = 2; // about 2 pixels or so...
// For Service Pack 2
var status_bar_estimated = 25; // Roughly 25 pixels or so...
var adjusted_width = desired_width + (2 * chrome_thickness_estimated);
var adjusted_height = desired_height + (2 * chrome_thickness_estimated) + title_bar_estimated + status_bar_estimated;
window.showModalDialog("about:Blank", null, "dialogWidth:" + adjusted_width + "px;dialogHeight:" + adjusted_height + "px");
</script><![endif]-->

Veröffentlicht unter WebDev.

Kommentar hinterlassen

benötigt

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>