2011-07-08 109 views
3

我需要的Chrome瀏覽器窗口的寬度和我當前的代碼獲取Chrome瀏覽器的寬度是:(忽略滾動條)

$("input#myHiddenValue").val($(window).width());

我稱這種由具有滾動頁面,但我需要它要成爲Chrome瀏覽器的全寬而不是的滾動條。

任何人都可以幫忙嗎?

回答

3

退房:

window.screen.availWidth 

我發現這在DOC: 返回的水平空間中的像素提供給窗口的數量。

它比我的? this.width`。

+0

這給了我我需要的東西。值得注意的是,這給出了最大的瀏覽器寬度,所以如果你打開一個較小的窗口,它仍然會給出寬度,因爲它會是全屏。偉大的eBayer,謝謝。一個++++。 – pfeds

0

難道你只是在15px上添加它是正確的嗎?

+2

假設滾動條總是15px是否安全?任何Windows設置會改變它,還是可以在Chrome中更改? – pfeds

0

試試這個

$("input#myHiddenValue").val($(body).width()); 
0

雖然window.screen.availWidth好一些,它沒有解決能夠得到正確的瀏覽器寬度的準確數量的核心問題,是不可靠的,因爲你永遠不知道是否有人會在比他們的屏幕更小的窗口中運行它。

不幸的是,我沒能找到得到它的好方法,所以這裏的有點這樣做,對我的作品的哈克的方式,可能會幫助別人了:

CSS:

.no-scroll{ overflow:hidden; } 

JS(假設的jQuery):

$('body').addClass('no-scroll'); 
var accurateWindowWidth = $(window).width(); 
$('body').removeClass('no-scroll'); 

基本上,你隱藏滾動條的一瞬間,而你通過禁止頁面滾動計算頁面的寬度 - 這工作WEL我在Chrome中沒有明顯的跳躍,但顯然你的里程可能取決於你的機器的速度和東西。