2011-08-11 22 views
16

我想調整瀏覽器彈出窗口的寬度和高度。我可以設置彈出窗口的大小,但是我想在頁面重定向到另一個頁面時將窗口大小轉換爲適合內容大小的窗口大小。我可以調整瀏覽器窗口嗎?

我嘗試這樣做:

$(window).width(1000); // Not working. 

我怎樣才能做到這一點?

更新

每個人都告訴我不能這樣做。要找出這是不好的做法的確切原因,我問了ux.stackexchange.com

+3

我真的不希望:) –

+1

你是什麼意思的「當一個頁面被移動到另一個頁面」? –

+3

不要試圖惹惱別人。謝謝。 – ThiefMaster

回答

18

我找到了這個問題的一些答案。這個問題是重複的。但我會再回答,因爲我會整合它們並添加更多信息。

調整窗口的大小,你可以簡單地這樣做:

window.resizeTo(width, height); 

但是這種方法在Chrome和Opera的工作。 How do you resize an IE browser window to 1024 x 768

原因來自The javascript "resizeTo" function not working in Chrome and Opera是:

的resizeTo方法默認情況下,在多個瀏覽器禁用了,我 知道,它也可以手動在Firefox中禁用。

它被廣泛濫用,所以大多數瀏覽器廠商都覺得它應該被禁用,或者至少是一個用戶可控的選項。

但是,即使在Chrome或Opera中,該方法仍在處理彈出窗口。我猜這是因爲瀏覽器供應商認爲彈出窗口需要使用resizeTo方法,我想是的。

要討論這個問題,我在ux.stackexchange.com上發了一些關於這個問題的線索。 https://ux.stackexchange.com/questions/9903/why-is-resizing-the-browser-window-bad-practice/9962#9962

我不知道,如果resizeTo方法是在任何時候都邪惡的,但我相信一個人應該非常小心使用此方法時。

3

使用

window.resizeBy(relativeW, relativeH); 
0
<script type="text/javascript"> 
    function changeScreenSize() {   
     window.resizeTo(screen.width-300,screen.height-500) 
    } 
</script> 

<body onload="changeScreenSize()"> 
+1

你確定這會工作嗎? – kritya

+0

我還沒試過。但我想它是有效的。如果不是這樣,那麼這個最初的作品window.open('html page','','width = 750,height = 300') – Chhaya

+2

我投你的答案,因爲你提出了一個解決方案,然後承認甚至沒有嘗試它。 – Markus

3

雖然你可能在技術上能夠做到這一點,你真的不應該。強制瀏覽器窗口的大小從根本上改變了用戶的瀏覽體驗,這不是你要去做的地方。非常不好的練習和糟糕的用戶體驗。

+2

我在ux.stackexchange.com上發佈了關於此問題的線索。我們可以在這裏討論一下。 http://ux.stackexchange.com/questions/9903/why-is-resizing-the-browser-window-bad-practice/9941#9941 –

+14

-1做這樣的判斷時要小心,有些情況下你可能仍然希望這樣做,例如,在持續集成測試環境中的窗口調整大小期間測試控件的行爲。 –

相關問題