如何检测全屏 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
我指的是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