在同一屏幕上打开窗口并居中

时间:2012-10-22 20:36:25

标签: javascript popup window prototypejs

使用以下代码,窗口在不同位置打开,从不居中,具体取决于您打开它的屏幕。我使用Internet Explorer 9时出现此问题,我的屏幕分辨率为1920x1080。

我需要的是窗口打开,居中,在我打开它的屏幕上。我搜索了stackoverflow,但没有发现任何对我有用的东西。

self.window.open(
    '/form.php?id=' + $iFormID +
    '&cboActivePatient=' + $iSkey +
    '&sForm=' + $sForm +
    '&iFormNum=' + $iFormNum,
    $sForm,
    'channelmode=yes, toolbar=yes, ' +
    'location=no, menubar=no, scrollbars=yes, resizable=yes, fullscreen=no, status=yes');

我已经尝试过使用:

var tempX = event.clientX + document.body.scrollLeft;
var tempY = event.clientY + document.body.scrollTop;

'location=no, menubar=no, scrollbars=yes, resizable=yes, fullscreen=no, ' +
                'status=yes, left='+tempX+', top='+tempY+'');

但这对我不起作用。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如何使用screen.width和screen.height来获取客户端计算机的屏幕大小,并使用它来计算顶部和左侧specs的适当值,如下所示:

URL = 'http://nickbriz.com'
w = 500;
h = 200;
t = (screen.height/2) - h/2;
l = (screen.width/2) - w/2;  

window.open(URL,'someName','width='+w+',height='+h+',top='+t+',left='+l+'')​;​

这是一个有效的例子:http://jsfiddle.net/pRA9B/