Кто-нибудь может увидеть, что не так с моим кодом?В IE он работает правильно, но Firefox 6, похоже, игнорирует любые настройки высоты или ширины, которые я передаю в вызове javascript window.open.Я не вижу ничего явно неправильного в этом, но javascript не является моим родным языком, поэтому я могу сделать ошибку noob где-то в этом.
Цель этой функции - открыть окно 800x600 с центром вэкран и отображается модально в браузерах семейства IE и Mozilla.
<html>
<head>
<script language="javascript" type="text/javascript">
function openWindow(pageURL,Title,w,h)
{
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
if (window.showModalDialog) {
window.showModalDialog(pageURL,Title,'dialogWidth:' + w + 'px,dialogHeight:'+ h + 'px,dialogTop:'+ top + 'px,dialogLeft:' + left + ',resizable=no');
} else {
window.open(pageURL,Title,"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes,resizable=no,modal=yes, copyhistory=no,width=" + w + ", height=" + h + ", top=" + top + ", left=" + left)
}
}
</script>
</head>
<body>
<a href="javascript:openWindow('http://www.google.com','Google',800,600);">Launch</a>
</body>
</html>
Просто для пояснения, функция предназначена для проверки наличия ShowModalDialog (при условии, что только IE поддерживает его) и попадает вправильная ветка window.open во всем, что поддерживает команду W3C window.open, которая реализует опцию «Modal».Идея заключалась в том, что если бы ShowModalDialog был реализован, то он использовал бы это, в противном случае используйте window.open с опцией «Modal».