我有一个在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>
答案 0 :(得分:0)
您需要计算left
和top
并将计算值作为参数提供给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。
希望这有帮助!