浏览器窗口居中问题

时间:2010-02-13 03:06:59

标签: javascript browser window.open

我正在尝试使用以下代码通过表单按钮启动居中的浏览器窗口...

http://www.bbc.co.uk','testwin','width=400,height = 400,left =(screen.availWidth-400)/ 2,top =(screen.availHeight-400) / 2' );返回false“> 测试按钮

新浏览器显示正确的高度和宽度,但左侧和顶部属性将被忽略,因此窗口显示在左上角。

我是否过于雄心勃勃,试图让这个代码在线?我应该使用其他语法,还是应该放弃并调用函数(如果可以避免,我宁愿不这样做)?

我正在使用Firefox 3.0.17(最新版),但在IE7中也会出现相同的效果。

TIA, Alan Harris-Reid

1 个答案:

答案 0 :(得分:1)

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>