Javascript 使用window.screen安全吗?

Javascript 使用window.screen安全吗?,javascript,dom,Javascript,Dom,MDN解释了如何使用窗口.screen对象,但也说明了“” W3Schools说window.screen.属性是 如果我理解正确的话window.screen是完全非标准的,但仍然得到普遍支持。是这样吗 如果是这种情况,我是否需要了解跨浏览器的差异,或者我可以直接使用它?顺便说一句,我最感兴趣的是screen.availWidth。Quirksmode兼容性表 大多数(但不是所有)值都受主要浏览器支持。您应该可以使用它 它不是标准的一部分是因为DOM级别0是在标准出现之前引入的。DOM级别0

MDN解释了如何使用
窗口.screen
对象,但也说明了“”

W3Schools说
window.screen.
属性是

如果我理解正确的话
window.screen
是完全非标准的,但仍然得到普遍支持。是这样吗


如果是这种情况,我是否需要了解跨浏览器的差异,或者我可以直接使用它?顺便说一句,我最感兴趣的是
screen.availWidth

Quirksmode兼容性表


大多数(但不是所有)值都受主要浏览器支持。

您应该可以使用它

它不是标准的一部分是因为DOM级别0是在标准出现之前引入的。DOM级别0也称为遗留DOM,它是在NetScape 2.0使浏览器中的JavaScript成为现实的同时创建的;实际上,DOM级别0是第一个DOM规范

遗留DOM将存在很长一段时间,如果不是这样,那么它将破坏与大量已经存在的非常流行的脚本的向后兼容性


编辑:换句话说,您的理解是完全正确的。它不是“标准化”的,但它是完全通用的,并将在很长一段时间内保持这种通用性。

如果您偏离标准,您的代码可能会在未来的浏览器中崩溃。屏幕界面是在标准中指定的。DOM实际上只是抽象文档,因此它没有实际输出设备的概念。实际上,每个浏览器当然都必须提供某种类型的输出设备(尽管您可以使用image
wget
来包含一个没有输出设备的DOM绑定脚本引擎)。这就是为什么
window
不在DOM中的原因(尽管它很可能在其他地方被标准化,正如Sime的链接所建议的那样)。@Kerrek在标准中指定了窗口接口。(顺便说一句,在其他标准中指定了一些对窗口界面的扩展…)Sime:我个人认为HTML5是许多不同标准的大而松散的集合——它是各种不同技术的大杂烩。。。但是很高兴知道
窗口
包括在内:-)但它是标准的一部分<代码>>\u窗口是标准的一部分。保证窗口将保留屏幕对象不是标准的一部分。@Šime Vidas您指的是CSSOM API,它由媒体查询使用(通过CSS完成,与JavaScript DOM API无关)。在这方面,是的,屏幕是标准化的。不,CSSOM API可以通过浏览器中的JavaScript访问,因此它实际上是一个JavaScript API(就像DOM API一样)。嗯,我以前没有见过。听起来真的很有趣。你能给我举个例子吗?我见过的唯一JavaScript/CSSOM交互是使用DOM扩展访问元素的计算样式。