javascript - 如何使用纯 javascript 检测全屏 api 支持?

标签 javascript cross-browser

这是我指的 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

关于javascript - 如何使用纯 javascript 检测全屏 api 支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54369570/

相关文章:

javascript 仅客户端加载通知

html - 提高 flex 布局的IE兼容性

html - Windows 7 以不同于 XP 或 Vista 的方式呈现网页

javascript - 使用 JavaScript 在 Excel 加载项中以编程方式创建自定义函数

javascript - Ember JS 嵌套组件冒泡

javascript - 重复使用clearInterval和clearTimeout不起作用

javascript - 在多个 html 页面之间共享一个变量

cross-browser - 什么时候使用 sIFR?

javascript - 将您的浏览器变成代理服务器

css - 当在没有宽度的 float div 中 float 子项时,Chrome 和 Firefox 的渲染不同。