如何检测全屏 api 对纯 javascript 的支持?

How to detect fullscreen api support with pure javascript?

我指的是API:https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API

至于我到目前为止所尝试的:

Modernizr 有 Modernizr.fullscreen 的东西,但我不想使用另一个库来完成看似简单的任务。

所以我正在挖掘 Modernizr 的源代码,看看他们是如何做到的,毕竟 Modernizr 确实使用 JS 来解决它,对吧?但到目前为止,我在他们的源代码中发现的关于全屏 API 的所有内容都是这个文件 (Modernizr/feature-detects/fullscreen-api.js)

/*!
{
  "name": "Fullscreen API",
  "property": "fullscreen",
  "caniuse": "fullscreen",
  "notes": [{
    "name": "MDN Docs",
    "href": "https://developer.mozilla.org/en/API/Fullscreen"
  }],
  "polyfills": ["screenfulljs"],
  "builderAliases": ["fullscreen_api"]
}
!*/
/* DOC
Detects support for the ability to make the current website take over the user's entire screen
*/
define(['Modernizr', 'prefixed'], function(Modernizr, prefixed) {
  // github.com/Modernizr/Modernizr/issues/739
  Modernizr.addTest('fullscreen', !!(prefixed('exitFullscreen', document, false) || prefixed('cancelFullScreen', document, false)));
});

...我不太了解该代码。还。

以下代码片段似乎是最佳解决方案:

const fullScreenAvailable = document.fullscreenEnabled || 
                            document.mozFullscreenEnabled ||
                            document.webkitFullscreenEnabled ||
                            document.msFullscreenEnabled