react调用桌面全屏的关键代码
  TEZNKK3IfmPf 2023年11月13日 31 0
//设置状态
state = {
// 检测全屏状态
isFullScreen: false,
}

componentDidMount() {
// 注册监听全屏显示事件
this.watchFullScreen();
}

componentWillUnmount() {
window.removeEventListener('resize', this.handleSize);
}

// 监听各种不同浏览器的fullscreenchange事件
watchFullScreen = () => {
document.addEventListener(
"fullscreenchange",
() => {
this.setState({
isFullScreen: document.fullscreen
});
},
false
);

document.addEventListener(
"mozfullscreenchange",
() => {
this.setState({
isFullScreen: document.mozFullScreen
});
},
false
);

document.addEventListener(
"webkitfullscreenchange",
() => {
this.setState({
isFullScreen: document.webkitIsFullScreen
});
},
false
);
}

// 浏览器全屏
requestFullScreen = () => {
const de = document.documentElement;
if (de.requestFullscreen) {
de.requestFullscreen();
} else if (de.mozRequestFullScreen) {
de.mozRequestFullScreen();
} else if (de.webkitRequestFullScreen) {
de.webkitRequestFullScreen();
} else if (de.msRequestFullscreen) {
de.msRequestFullscreen()
} else {
notification.open({
message: '你的浏览器不支持',
description: '按F11,通常可实现浏览器全屏!',
icon: <Icon type="smile" style={{color: '#108ee9'}}/>,
});

}
this.setState({
isFullScreen: document.fullscreen
});

}

// 退出浏览器全屏
exitFullscreen = () => {
const de = document;
if (de.exitFullscreen) {
de.exitFullscreen();
} else if (de.mozCancelFullScreen) {
de.mozCancelFullScreen();
} else if (de.webkitCancelFullScreen) {
de.webkitCancelFullScreen();
}
this.setState({
isFullScreen: document.fullscreen
});

}

render() {

const { isFullScreen } = this.state;
return (
<Fragment>
{!isFullScreen ?
<Button type="primary"
className={styles.toolButton}
onClick={this.requestFullScreen}
size="large">全屏显示</Button>
: <Button type="primary"
className={styles.toolButton}
onClick={this.exitFullscreen}
size="large">退出全屏</Button>
}


</Fragment>
);
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月13日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月15日   32   0   0 reactjavascript
  TEZNKK3IfmPf   2023年11月14日   17   0   0 reactRedux
  TEZNKK3IfmPf   2023年11月14日   20   0   0 react
  TEZNKK3IfmPf   2023年11月14日   16   0   0 react函数
  TEZNKK3IfmPf   2023年11月14日   23   0   0 react
  TEZNKK3IfmPf   2023年11月14日   26   0   0 react继承
  TEZNKK3IfmPf   2023年11月14日   18   0   0 react编程开发
  TEZNKK3IfmPf   2023年11月14日   20   0   0 react编程开发
  TEZNKK3IfmPf   2023年11月14日   19   0   0 react编程开发
  TEZNKK3IfmPf   2023年11月14日   20   0   0 react编程开发
  TEZNKK3IfmPf   2023年11月14日   24   0   0 react
  TEZNKK3IfmPf   2023年11月14日   36   0   0 react
  TEZNKK3IfmPf   2024年03月22日   69   0   0 htmlreact
  TEZNKK3IfmPf   2023年11月15日   31   0   0 react
  TEZNKK3IfmPf   2023年11月14日   30   0   0 react
TEZNKK3IfmPf