2014-05-03 56 views
0

如何將窗口居中放置在屏幕中?我知道還有其他解決方案,但我認爲他們將新窗口與現有窗口相關聯,而不是電腦的總屏幕。所以,這些解決方案僅在瀏覽器全屏時才起作用。在屏幕中居中顯示一個window.open(不是瀏覽器)

我的例子有同樣的問題,它只適用於第一個窗口是全屏。是否有任何解決方案始終有效?

這裏玩的例子:http://jsfiddle.net/T7DJr/

(我試過screen.width但它不工作是不是一個jQuery的問題?)

HTML:

<a class="open" href="http://www.google.com" target="_blank"> open window </a> 

jQuery的:

$(function(){  
    // this only centers in relation to the browser, not the screen: 
    var top = $(window).height()/2 - 200; 
    var left = $(window).width()/2 - 200; 

    $('.open').click(function(e){ 
     e.preventDefault(); 
     window.open("","window1", 
        "toolbar=no, scrollbars=no, resizable=no, top="+top+", left="+left+", width=400, height=400"); 
    }); 
}) 

回答

2

您可以使用

var top = window.screen.height/2 - 200; 
var left = window.screen.width/2 - 200; 

雖然我不確定瀏覽器的兼容性。

+1

根據[Quirksmode](http://www.quirksmode.org/dom/w3c_cssom.html#t13),兼容性看起來不錯。 –

+0

@ Ex-iT感謝您的信息:) – luciole75w

+0

它適用於Safari,Chrome,Firefox和Opera。它在ie8中不起作用。我無法挑選ie9和ie10。 IE8的問題是,它不認識window.open – Nrc