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

Javascript 在同一屏幕上打开窗口并居中,javascript,popup,window,prototypejs,Javascript,Popup,Window,Prototypejs,使用以下代码,窗口将在不同的位置打开,从不居中,具体取决于您在哪个屏幕上打开它。我在使用Internet Explorer 9时遇到此问题,我的屏幕分辨率为1920x1080 我需要的是让窗口在我打开它的屏幕上居中打开。我搜索了stackoverflow,没有找到任何适合我的 self.window.open( '/form.php?id=' + $iFormID + '&cboActivePatient=' + $iSkey + '&sForm=' +

使用以下代码,窗口将在不同的位置打开,从不居中,具体取决于您在哪个屏幕上打开它。我在使用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+'');
但这对我不起作用


提前感谢。

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

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+'')​;​

这里有一个工作示例:

这不是您可以在不同浏览器和不同操作系统中控制的东西。您甚至不能确定
window.open()
是否会打开一个单独的浏览器窗口(而不是新选项卡)。您所说的“同一屏幕”是什么意思。但是,当您指定“左”和“上”而不是“宽”和“高”时,窗口永远不会居中。与中相同的屏幕有两个监视器,我希望窗口在我单击的监视器上打开,而不是在主监视器上打开。我不一定需要它的中心了,因为它在左上角的开口是好的。