Проблема с центрированием окна браузера - PullRequest
1 голос
/ 13 февраля 2010

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

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

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

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

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

ТИА, Алан Харрис-Рейд

1 Ответ

1 голос
/ 13 февраля 2010

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

Допустим, вы хотите открыть окно размером 200h x 150w. Взяв половину высоты и ширины (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>
...