2010-02-13 3 views
1

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

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

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

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

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

TIA, Alan Harris-Reid

+0

уход, чтобы показать некоторый код? было бы полезно, чтобы получить хорошие ответы. –

+0

Собственно, он действительно показывал какой-то код ... просто Stack Overflow разделил его. Это его сырая почта, без которой она была удалена: http://stackoverflow.com/revisions/c84eca9f-6fc3-4fcf-a3b7-ae690d34d38a/view-source – icktoofay

ответ

1

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

Допустим, вы хотите открыть окно размером 200х 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> 
+0

Это работает хорошо. Жаль, что он не работал как встроенная команда onclick, но я полагаю, что функции более гибкие в долгосрочной перспективе. Спасибо, Alan –

Смежные вопросы