2015-11-18 38 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