2012-11-07 21 views
8

Powiel możliwe:
Center a popup window on screen?jQuery otwarte nowe okno skupione ze stałym rozmiarze

Mam 4 różne linki, z których wszystkie muszą otworzyć nowe okno, które będą kierować 4 różne html akta.

Kiedy łącza są kliknięciu, musi otworzyć plik HTML w pytaniu w nowym oknie, zarówno:

  • Centered
  • Stała wielkość 900 x 600

znalazłem tym poniżej, ale nie robi wydaje się zaspokoić centrowania okna

http://jquerybyexample.blogspot.com/2012/05/open-link-in-new-tab-or-new-popup.html

Cheers

+0

przeczytać ten - http: // www.nigraphic.com/blog/java-script/how-open-new-window-popup-center-screen –

+0

dziękuję, chłopaki pracowali doskonale – John

+0

Umieściłem rozwiązanie z podwójnym monitorem na duplikacie pytania dla tych, którzy szukają coś bardziej solidnego, jak byłem -> http://stackoverflow.com/a/16861050/1483871. Kredyt: http://www.xtf.dk –

Odpowiedz

18

Aby wyśrodkować nowe okno, nadać mu lewą i górną połowę wartość wielkości ekranu - pół rozmiaru okna:

var left = ($(window).width()/2)-(900/2), 
    top = ($(window).height()/2)-(600/2), 
    popup = window.open ("", "popup", "width=900, height=600, top="+top+", left="+left); 

FIDDLE

+1

$ (okno) .width() to szerokość okna przeglądarki, a nie szerokość ekranu. Aby poprawnie wyśrodkować okno na ekranie (którego aktualny kod nie zawiera - możesz wypróbować skrzypce i zmienić rozmiar okna za pomocą skrzypiec i zobaczyć, jak idzie) użyj obiektu ekranowego http://stackoverflow.com/a/3437825/883738 –

+0

@AlexSorokoletov - Zwykle używa się 'okna' do takich rzeczy, a nie' ekranu', ale to zależy od tego, czego szukasz, PO szukał 'okna', a ty tylko obniżyłeś tę odpowiedź w oparciu o fakt, że byłeś szukanie "ekranu". Oba podejścia mają problemy, zwłaszcza "screen", ponieważ nie są bardzo spójne, a jeśli masz wiele ekranów, zawsze zwraca rozmiar ekranu podstawowego, a nie ekranu, nad którym obecnie pracujesz. – adeneo

+1

Cóż, w tym przypadku okno która jest otwarta nadal nie jest wyśrodkowana w oknie nadrzędnym. Po prostu zmień rozmiar i przesuń się w prawo. Mówię tylko ... –