如何使用内联javascript代码自动居中弹出窗口

时间:2012-09-16 03:37:37

标签: javascript

我有一个在AJAX中使用的在线javascript,想在打开时自动居中,但只在内联脚本中进行更改。那可能吗?这是我的代码:

<a href='javascript:void(0)' title='owner' onclick=\"window.open('owner.html','owner','height=320, width=300,location=no,scrollbars=yes')\ >some text</a>

2 个答案:

答案 0 :(得分:0)

您需要计算lefttop并将计算值作为参数提供给window.open()调用。我不确定为什么你希望JavaScript是内联的,最好在一个单独的调用中完成,这样你就可以从所有地方调用相同的函数。

Left = (screen.width / 2) - (Provided Width of the Popup / 2)
Top  = (screen.height / 2) - (Provided Height of the Popup / 2)   

仅发布相关代码 -

window.open('owner.html','owner','height=320, width=300,location=no,scrollbars=yes,left=' + (screen.width/2)-(300/2) + ',top=' + (screen.height/2)-(320/2))

答案 1 :(得分:0)

我使用了verisimilitude的答案,并将其付诸实践:

<a onclick="javascript:void window.open('http://www.google.com','1380642102467','width=400,height=300,resizable=1,left='+(screen.width/2-200)+',top='+(screen.height/2-150));return false;" href="http://www.google.com"><u>CLICK HERE</u></a>

主要区别在于此部分:

left='+(screen.width/2-200)+'
top='+(screen.height/2-150)

我发现如果在(screen。)参数中减去一半窗口大小,则减去窗口大小的差异。 -200和-150部分是从弹出窗口大小的一半计算出来的(手动输入“宽度”和“高度”)。基于不同的弹出窗口大小,我不知道是否有更动态的方法,但我个人不需要它来做这个并且可以输入静态值。

我还需要完全内联。我需要使用它的地方不允许更改磁头或添加其他文件。我只能上传正文HTML。

希望这有帮助!