跳到主要内容

createFullscreen

创建全屏事件,兼容各大浏览器,如果使用 React 组件,建议使用 useFullScreen Hook。

使用例子

最好每次都绑定前,移除上次的全屏绑定事件,防止事件没移除,导致多次绑定。 当然也可以通过组件销毁钩子进行移除事件。

const fullscreenObj = createFullscreen(
targetDOM,
targetDOM.ownerDocument || document,
() => {
const isFull = !!fullscreenObj.fullscreenElement;
if (!isFull) {
//非全屏,移除监听器。
fullscreenObj.remove();
}
}
);

if (fullscreenObj.isDomFullscreenSupported) {
const isFull = !!fullscreenObj.fullscreenElement;
if (!isFull) {
fullscreenObj.requestFullscreen();
} else {
fullscreenObj.exitFullscreen();
}
} else {
// 异常处理
}

参数

参数说明默认值
elementContext全屏目标对象-
documentContextdocument 对象-
changeCallback?全屏状态回调函数,无参数。-

返回值

 {
readonly isDomFullscreenSupported: boolean; // 是否支持全屏
requestFullscreen(): void; // 触发全屏
exitFullscreen(): void; // 退出全屏
readonly fullscreenElement: Element | null | undefined; // 当前正在全部的 dom 元素,一般用来不判断是否在全屏状态
remove(): void; // 移除 fullscreen 监听器
}