window.open к центру экрана - PullRequest
       51

window.open к центру экрана

13 голосов
/ 08 августа 2011

Я использую window.open, чтобы открыть всплывающее окно следующим образом:

<a href="http://path/to/url" onclick="window.open(this.href, 'sharegplus', 'height=485,width=700'); return false;" target="_blank">

Я хочу, чтобы это было по центру на экране, но без использования <script> inline code </script>и просто введите все, что мне нужно, в onclick="".Можно ли это сделать?

Ответы [ 4 ]

28 голосов
/ 08 августа 2011

Редактировать

Это плохой ответ. гораздо лучший ответ можно найти здесь: window.open () в системе с несколькими мониторами / двумя мониторами - где всплывает окно?

Но пока я решаю, когда я хочу обновить этот ответ, эта скрипка учитывает настройки двух мониторов: http://jsfiddle.net/w665x/138/

Оригинальный ответ

Это может сработать для вас. Не уверен, что он полностью кросс-браузерный, но близкий;

<html>
<head>
<script type="text/javascript">
function goclicky(meh)
{
    var x = screen.width/2 - 700/2;
    var y = screen.height/2 - 450/2;
    window.open(meh.href, 'sharegplus','height=485,width=700,left='+x+',top='+y);
}
</script>
</head>
<body>
<a href="http://path/to/url" onclick="goclicky(this); return false;" target="_blank">blah</a>
</body>
</html>

Fiddle!

1 голос
/ 09 января 2015

Также вы можете попробовать:

$('a.popup-window').on('click', function(){
    var w = 880, h = 600,
        left = Number((screen.width/2)-(w/2)), tops = Number((screen.height/2)-(h/2)),
        popupWindow = window.open(this.href, '', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=1, copyhistory=no, width='+w+', height='+h+', top='+tops+', left='+left);
    popupWindow.focus(); return false;
});

И звоните:

<a href="https://google.com/" class="popup-window">Open in new window</a>
0 голосов
/ 05 декабря 2013

В этом коде используется сценарий jAplus .Это позволяет вам делать это без написания кода JavaScript.(http://japlus.simplit.it)

<head>
   <script src="/path/to/jquery.js" type="text/javascript" charset="utf-8"></script>
   <script src="/path/to/jquery.Aplus.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
    <a href="http://path/to/url" class="win win-center">
</body>
</html>
0 голосов
/ 25 октября 2013

Этот код отлично работает:

//Code Starts
$(document).ready(function() {
   $('#Popup').click(function() {
     var NWin = window.open($(this).prop('href'), '', 'height=800,width=800');
     if (window.focus) 
     {
       NWin.focus();
     }
     return false;
    });
});​
//Code Ends


<a href="http://www.google.com/" id="Popup">Open in Popup window</a>
...