Проблема с центрированием окна браузера

Я пытаюсь запустить центрированное окно браузера с помощью кнопки формы, используя следующий код...

http://www.bbc.co.uk','testwin','width=400, height=400, left=(screen.availWidth-400)/2, top=(screen.availHeight-400)/2' ); вернуть ложь"> кнопка "Тест"

В новом браузере отображается правильная высота и ширина, но атрибуты left и top игнорируются, поэтому окно отображается в левом верхнем углу.

Я слишком амбициозен, пытаясь сделать этот код встроенным? Есть ли какой-либо другой синтаксис, который я должен использовать, или я должен отказаться и вместо этого вызвать функцию (я бы предпочел не делать этого, если я могу этого избежать)?

Я использую Firefox 3.0.17 (последняя), но тот же эффект происходит и в IE7.

TIA, Алан Харрис-Рид


person Alan Harris-Reid    schedule 13.02.2010    source источник
comment
хотите показать код? было бы полезно получить хорошие ответы ..   -  person Gabriele Petrioli    schedule 13.02.2010
comment
На самом деле, он показал какой-то код... просто переполнение стека удалило его. Это его необработанный пост, без него: stackoverflow.com/revisions/   -  person icktoofay    schedule 13.02.2010


Ответы (1)


http://www.tek-tips.com/faqs.cfm?fid=2296 объясняет, как это сделать. Но я бы рекомендовал вместо этого использовать плавающий Div из-за блокировки всплывающих окон.

Допустим, вы хотите открыть окно размером 200 x 150 Вт. Взяв половину высоты и ширины (100 и 75 соответственно), вы сможете определить центр окна. Затем с помощью небольшой математики вы можете центрировать окно. Вот как это делается

<SCRIPT LANGUAGE="JavaScript">
function MyPopUpWin() {
var iMyWidth;
var iMyHeight;
//half the screen width minus half the new window width (plus 5 pixel borders).
iMyWidth = (window.screen.width/2) - (75 + 10);
//half the screen height minus half the new window height (plus title and status bars).
iMyHeight = (window.screen.height/2) - (100 + 50);
//Open the window.
var win2 = window.open("filename.htm","Window2","status=no,height=200,width=150,resizable=yes,left=" + iMyWidth + ",top=" + iMyHeight + ",screenX=" + iMyWidth + ",screenY=" + iMyHeight + ",toolbar=no,menubar=no,scrollbars=no,location=no,directories=no");
win2.focus();
}
</SCRIPT>

Чтобы вызвать эту функцию в HTML, используйте это:

<A HREF="javascript:MyPopUpWin()">This is the link</a>
person Todd Moses    schedule 13.02.2010
comment
Это прекрасно работает. Жаль, что это не работает как встроенная команда onclick, но я полагаю, что в долгосрочной перспективе функции более гибкие. Спасибо, Алан - person Alan Harris-Reid; 18.02.2010