屏幕和窗口属性之间的区别?

时间:2013-04-23 06:41:49

标签: javascript asp.net web-applications

在我的Web应用程序中,我需要使用浏览器窗口的Height&宽度。所以我在JavaScript中使用 Screen.Width,Screen.Height 属性来获取宽度和宽度。高度。在冲浪时我得到了另一个属性 Window.Width,Window.Height 。任何人都可以告诉我,哪个属性为我提供了浏览器大小窗口..... 屏幕(或)窗口?

3 个答案:

答案 0 :(得分:11)

没有Screen个对象,实际上是window.screen

window对象(通过document.defaultView获得)返回有关窗口和视口的信息。要使用window.outerHeight获取应用程序窗口大小,请使用window.innerHeight获取视口大小。

screen对象是指实际的监视器窗口或桌面大小。请注意,如果您有多个mon设置,那么您将拥有多个screen个对象。 window对象属于单个screen,但不是window属于同一个screen。我不知道当浏览器窗口跨越多个screen时会发生什么。

通过这一切,您可以确定如果您正在运行全屏浏览器,那么window.outerHeight == window.innerHeight == screen.height

来源:https://developer.mozilla.org/en-US/docs/DOM/window.screenhttps://developer.mozilla.org/en-US/docs/DOM/window

答案 1 :(得分:5)

screen.height为您提供显示器屏幕的高度 screen.width为您提供显示器屏幕的宽度。

window.height为您提供浏览器窗口的高度 window.width为您提供浏览器窗口的宽度。

答案 2 :(得分:1)

What is the difference between window, screen, and document in Javascript?几乎是同一个问题。要解释接受的答案并添加一些我认为可以使用的信息:

根对象中的

window。您定义的任何变量或函数在某种程度上都是window对象的子项。因此,如果您在脚本代码中执行var something="blah",则可以稍后以3种方式访问​​该变量 - somethingwindow.somethingwindow["something"]

screen是浏览器创建的窗口子项之一。但是,出于同样的原因,您可以window.something访问something,您可以window.screenscreen访问它。这包含实际屏幕的属性,这是我想要获取所需细节的地方(除非您可以访问jQuery或Prototype等框架,在这种情况下,他们可能会提供此信息而无需担心浏览器兼容性)。