2009-08-14 87 views
1

我想通過寬度調整瀏覽器的大小(我知道...我知道...),並且想維護用戶瀏覽器的當前高度,並且我努力在IE8下正常工作。獲取ie8輸入瀏覽器窗口的高度

如果我這樣做:

window.resizeTo(document.documentElement.clientWidth, document.documentElement.clientHeight); 

理論上應該,保持完全相同的尺寸,我從高處失去大約176像素...並大致對滾動條的寬度。

我找不到任何屬性,它會給我整個瀏覽器窗口的正確大小。

回答

3

這不是最好的解決方案,但它的工作原理。

首先,保存當前的報告高度:

var oldY = document.documentElement.clientHeight; 

其次,將窗口大小設置到一個已知尺寸:

window.resizeTo(800, 600); 

接着通過從減去報告的大小確定的填充量已知尺寸:

var padX = 800 - document.documentElement.clientWidth; 
var padY = 600 - document.documentElement.clientHeight; 

最後,將寬度設置爲所需的值pl我們padX,高度爲oldYpadY

window.resizeTo(desiredWidth + padX, oldY + padY); 

該方法的缺點是用戶可能會注意到窗口在該過程的第二步更改大小。

+0

嗯,我想..技術上..它確實工作..:/ – ChadT 2009-08-14 08:06:52

+0

我建議在使用此方法之前檢測'window.outerWidth'功能,這種方式雙重大小限制爲不支持窗口的瀏覽器。 outerWidth /高度。 – MichD 2012-11-12 10:23:15

相關問題