2015-11-18 40 views
11

在下面的代碼,視窗VS窗口Vs的文件

document.documentElement.clientWidth 
    1349 
document.documentElement.clientHeight 
    363 
window.innerWidth 
    1366 
window.innerHeight 
    363 
window.screen.height 
    768 
window.screen.width 
    1366 

所以,我的桌面屏幕是1366像素寬和768像素高度。

我瞭解到,

視維正在使用document.documentElement.clientWidthdocument.documentElement.clientHeight簡稱。

窗口尺寸使用window.innerWidthwindow.innerHeight來引用。

1)視口和文檔有什麼不同?

2)何時window.onloaddocument.onload被調用?

+0

相關:http://stackoverflow.com/questions/21064101/understanding-offsetwidth-clientwidth-scrollwidth-and-height-respectively – aug

回答

11

當你的頁面比你的屏幕大時,情況就不一樣了。

視口是矩形區域,您可以看到事物。文檔可能比這個大,如果是的話,你會看到滾動條。

至於你的第二個問題:window.onload vs document.onload

這裏是一個總結。

視口:這是您的設備屏幕。

窗口:這是您的瀏覽器窗口。窗口可以像視口一樣大或更小。

文檔:這是網頁。它可以比視口更大,甚至比窗口更大。

備註: 有些網站不是爲手機創建的。因此,網頁/文檔比移動視口大得多,您必須輕掃以查看溢出屏幕的部分。 在桌面上,您可以使瀏覽器的窗口與視口/顯示器相同或略小。

+1

如果,*視口是矩形區域的東西是可見的*,然後,什麼是視口和窗口之間的區別? – overexchange

+1

@overxchange窗口可能包含除視口以外的許多其他內容,例如滾動條,導航欄等。視口只是顯示文檔內容的區域。您可以通過比較'window.innerWidth'和'window.outerWidth'來看到不同之處。 – TwilightSun

+0

這是什麼,但設備的寬度和高度。 'screen.width'和'screen.height' – overexchange

4

文件:

文件是在JavaScript對象表示頁面的DOM(文檔對象模型)。文檔對象是整個頁面結構的表示(所有HTML元素等),所以這樣的:使用此

window.innerWidth 
window.innerHeight 

給你的實際可見(

document.documentElement.clientHeight 
document.documentElement.clientWidth 

應該給你你<html>元素

視口的寬度物理)尺寸的窗口在您的瀏覽器內,不包括 scr ollbars

的window.onload

的window.onload(a.k.a body.onload)被主HTML解僱後,所有的CSS,所有圖像和所有其他資源已加載和渲染。

document.onLoad

當DOM就緒其可以是事先被加載圖像和其他外部內容時被調用。

+1

window.innerWidth包含滾動條 – Benn