react如何实现在网页中全屏操作?

全屏滚动JS插件实战:基于fullPage.js的沉浸式网页设计 </div><script></script> 阅读详情

1、utils.ts文件

var document: any = window.document;
// 展开/全屏
export function requestFullScreen(element: any) {
  var requestMethod = element.requestFullscreen || element.webkitRequestFullscreen || element.msRequestFullscreen || element.mozRequestFullScreen;
  if (requestMethod) {
    requestMethod.call(element);
  }
}
// 退出/全屏
export function exitFullScreen() {
  var exitMethod = document.exitFullscreen || document.webkitExitFullscreen || document.msExitFullscreen || document.mozCancelFullScreen;
  if (exitMethod) {
    exitMethod.call(document);
  }
}
// 判断是否全屏
export function isFullscreenElement() {
  var isFull = document.fullscreenElement || document.webkitFullscreenElement || document.msFullscreenElement || document.mozFullScreenElement;
  return !!isFull;
}

2、index.tsx

// 引入utils
import { requestFullScreen, exitFullScreen, isFullscreenElement } from "utils/utils";

  const [fullScreen, setFullScreen] = useState(false);
  const [originResizeFunc, setOriginResizeFunc] = useState<any>(null);
  
  useEffect(() => {
    props.getMenu();
    setActiveKey(panes[0].key);
    // 监听 键盘ESC 退出全屏(可以使用屏幕大小监听,触发对应的事件)
    if (window.addEventListener) {
      window.addEventListener("resize", onEscCancelFull, false);
    } else {
      setOriginResizeFunc(window.onresize);
      window.onresize = onEscCancelFull;
    }
    // 销毁清除事件
    return () => {
      if (window.removeEventListener) {
        window.removeEventListener("resize", onEscCancelFull, false);
      } else {
        window.onresize = originResizeFunc;
      }
    };
  }, []); // eslint-disable-line react-hooks/exhaustive-deps
  function onEscCancelFull() {
  	// 用于反显状态
    setFullScreen(isFullscreenElement());
  }
  
// Node部分
return (
		  {fullScreen ? (<FullscreenExitOutlined onClick={
		  	() => {
		  		exitFullScreen();
		  	}} style={{ fontSize: "24px", marginRight: "10px" }} />) 
		  	: (<FullscreenOutlined onClick={
		    () => {
		  		requestFullScreen(document.body);
		 	}} style={{ fontSize: "24px", marginRight: "10px" }} />)
		  }
	   )

3、呈现效果

在这里插入图片描述

在这里插入图片描述

react-fullscreen-crossbrowser:一个简单的React全屏组件,将在JS和TS环境中均可用 全屏跨浏览器React 一个React组件,它使用Fullscreen API将其子级设置为全屏,并使用进行了。 揭露 该软件包是下载并转换为打字稿的两个软件包的组合所有学分: 用法与原始作者相似,但也可以在打字稿中使用 安装。 yarn add react-fullscreen-crossbrowser 需要组件。 import Fullscreen from 'react-full-screen' ; 设置和渲染。 import React , { Component } from "react" ; import Fullscreen from 'react-fullscreen-crossbrowser' ; class App extends Component { constructor ( props ) { this . state = { 立即下载

相关推荐

航空大数据——项目资源汇总及开源(四)

ADS-B项目开源大礼包

cyc头发还挺多的博客 4986

React全屏方法

【代码】React全屏方法。

qq_64156125的博客 763

【学习笔记-QGIS】 QGIS从零快速上手

安装文章参考:https://zhuanlan.zhihu.com/p/370633306。

Xcong_Zhu的博客 1万+

react实现全屏展示

【代码】react实现全屏展示。

qq_41379860的博客 970

Nginx反向代理MinIO私有桶签名失效?一招解决Host头校验问题

本文详细解析了Nginx反向代理MinIO私有桶时出现的签名失效问题,重点解决了Host头校验导致的"SignatureDoesNotMatch"错误。通过精准配置proxy_set_header保持Host头一致性,并提供了二级目录代理和调试指南,帮助开发者高效解决这一常见技术难题。

weixin_29201313的博客 321

ORCAD原理图关联封装时出现ERROR(ORCIS-6245)、ERROR(ORCIS-6013)问题

1、当你进行如下操作时: 系统先是提示你出现ERROR(ORCIS-6245)然后再确定后再出现ERROR(ORCIS-6013)问题 是由于你的数据库的路径不对。 具体操作方法如下:1、先找到你的CAPTURE.INI文件。 2、用记事本打开CAPTURE.INI。找到下图路径 3、在你的Orcad capture CIS原理图软件中点击 Options------>CIS con...

weixin_42304393的博客 2万+

React 实现页面全屏效果

HTML代码: &amp;amp;amp;amp;amp;amp;lt;a onClick={this.fullScreen} style={{ margin: &amp;amp;amp;amp;amp;quot;0 6px 0 6px&amp;amp;amp;amp;amp;quot;}} &amp;amp;amp;amp;amp;amp;gt;全屏&amp;amp;amp;amp;amp;amp;lt;/a&amp;amp;amp;amp;amp;am

下雨不愁的博客 1万+

全志F1C100S/F1C200S学习笔记(11)——spi-flash 启动全流程适配烧录及踩坑指南

SPI Flash 系统编译 spi-flash 启动适配 分区规划: 分区序号 分区大小 分区作用 地址空间及分区名 mtd0 1MB (0x100000) spl+uboot 0x0000000-0x0100000 : “uboot” mtd1 64KB (0x10000) dtb文件 0x0100000-0x0110000 : “dtb” mtd2 4MB (0x400000) linux内核 0x0110000-0x0510000 : “kernel” mtd3 剩余 (

丨晋丨 1万+

React实现全屏和退出全屏

React实现全屏和退出全屏

路人贾! 1051

AutoSAR EcuM系列01- EcuM模块的功能概述和变体类型

在【ECU的软硬件架构】文章中我们了解ECU的功能和组成,那么ECU具体是怎么启动的呢?我们知道,AutoSAR标准架构有三层,即APPL应用层、RTE层和BSW层。而这些层又被进一步划分为更多单独的组件,如BSW层可能有80多个组件。在ECU启动时,这些组件必须相互交互,有时也必须以某种顺序交互。这些组件的启动顺序由ECU管理器模块或EcuM处理。EcuM负责整个ECU的初始化和去初始化,包括对一些系统模块如。......

1766

Python 爬虫实战:爬取股票数据做 K 线图可视化

摘要:本文介绍基于Python的股票数据爬取与K线图可视化全流程技术方案。通过Requests库抓取东方财富网股票数据,使用Pandas进行清洗处理,并利用mplfinance库实现专业K线图绘制。文章详细讲解了数据爬取接口分析、反爬策略配置、K线图绘制方法(包含基础K线图和带均线的进阶版本),以及核心统计指标计算。该方案可应用于股票价格趋势分析,为投资决策提供数据支持,同时强调了数据使用的合规性和技术优化方向。

2503_91057718的博客 2049

React hooks 实现全屏

react hooks 实现全屏

weixin_56808747的博客 614

AI智算-K8s如何利用IB RDMA网络加速大模型分布式训练

在AI人工智能领域,大模型的微调是提升性能不可或缺的一环。通过结合InfiniBand RDMA网络的高速互联、Kubernetes的云原生容器化部署,以及智能算力调度平台,可以打造一个高效、灵活且可扩展的分布式训练环境。

Kason_iWiki 816

react实现在网页中全屏操作

react实现在网页中全屏操作

qq_40063198的博客 816

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

react 实现组件全屏

在浏览器中访问页面,需要对页面中的其中一个组件能够实现 全屏展示 直接看代码 import React, { Component } from 'react'; const rootRef = React.createRef(); class Test extends Component { componentDidMount() { // 监听页面全屏事件 window.onresize = () => { if(docum

M_Eve的博客 3350

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

终极指南:Midscene Chrome扩展如何让AI成为你的浏览器操作员

还在为繁琐的网页操作而烦恼吗?Midscene Chrome扩展为你带来革命性的AI驱动浏览器自动化解决方案。这款开源工具让你用自然语言就能完成复杂的网页交互,彻底告别传统脚本编写的烦恼。无论你是开发者、测试工程师还是普通用户,都能在几分钟内掌握这项黑科技。✨ ## 为什么你的浏览器需要AI助手? 想象一下,你只需要对着浏览器说"在亚马逊搜索无线耳机并筛选五星评价",AI就能自动完成所有操作。

gitblog_00589的博客 392

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

react-大屏或网页添加全屏效果

react-大屏或网页添加全屏效果 一开始,浏览器打开是这个样子。 点击全屏按钮,实现全屏,如下图。 此效果核心代码案例如下: import React, { useState } from 'react'; import { FullscreenOutlined, FullscreenExitOutlined } from '@ant-design/icons'; import './index.less'; class DrivingScreen extends React.Component {

lkkkkkk123456的博客 2017

react-fullpage:实现全屏滚动网站的利器

react-fullpage:实现全屏滚动网站的利器 随着Web开发的不断演进,实现高质量的用户交互体验变得尤为重要。react-fullpage 是一个功能强大、易于使用的开源项目,它可以帮助开发者轻松创建全屏滚动网站,下面我们来详细介绍这个项目。 项目介绍 react-fullpage 是一个基于 React 的组件库,它允许开发者通过简单的配置和组件嵌套来实现全屏滚动的网页效果。无论是移动设...

gitblog_00731的博客 754

html5+ React -进入和退出全屏实现

html5已经支持全屏API,不同浏览器实现方式不一,以下为兼容方案: 一、不同浏览器的进入和退出全屏实现 // Webkit (works in Safari5.1 and Chrome 15) element.webkitRequestFullScreen(); document.webkitCancelFullScreen(); // Firefox 10+ element.moz...

xiaowei的博客 5043

React-PDF预览全屏模式:实现PDF预览的全屏功能

你是否遇到过在线预览PDF时,内容太小看不清的问题?是否希望能像看电影一样将PDF文档全屏展示,获得沉浸式阅读体验?本文将介绍如何使用React-PDF库实现PDF预览的全屏功能,让你的PDF查看体验更上一层楼。读完本文,你将能够掌握React-PDF全屏模式的实现方法,了解相关API的使用技巧,并能解决可能遇到的常见问题。 ## PDFViewer组件解析 React-PDF提供了PDFVi...

gitblog_01069的博客 443

框架内(React)网页打印的实现

如何在框架内实现网页打印功能,即在不用获取DOM的情况下将网页打印出来;应开发需求,需要在react框架基础上实现网页的打印,普通的js打印都是通过获取DOM元素来确定需要打印的区域,然而React一类的框架采用虚拟DOM,无法获取真实DOM元素,想到一个办法就是前端实现一个有当前页面样式的HTML模板,发送到后端,后端把模板赋值返回给前端,前端获取到HTML文件,打印这个文件便可。

JUST CODING... 8489

react点击按钮实现全屏功能

react 实现点击按钮全屏效果

weixin_66501371的博客 1120

React全屏滚动组件常见问题解决方案

React全屏滚动组件常见问题解决方案 1. 项目基础介绍和主要编程语言 本项目是一个基于React的全屏滚动组件,它允许开发者轻松实现全屏滚动效果,适用于创建单页应用或展示型网页。该组件提供了丰富的配置选项和事件回调,使得开发者可以自定义滚动行为和添加自定义控制元素。主要编程语言为JavaScript。 2. 新手常见问题及解决步骤 问题一:如何引入和使用react-full-page组件? 解...

gitblog_01027的博客 644

如何用screenfull.js实现网页全屏功能:简单实用的终极指南

在现代网页开发中,**全屏功能**已经成为提升用户体验的重要特性之一。无论是视频播放、演示文稿还是游戏应用,全屏模式都能为用户带来沉浸式的浏览体验。今天,我将为你详细介绍如何利用 **screenfull.js** 这个轻量级工具,快速实现跨浏览器的全屏功能。🎯 ## 什么是screenfull.js? **screenfull.js** 是一个简单易用的JavaScript库,专门用于处理

gitblog_00106的博客 1080

【亲测免费】 React Fullscreen:打造沉浸式全屏体验的利器

React Fullscreen:打造沉浸式全屏体验的利器 项目介绍 React Fullscreen 是一个专为 React 开发者设计的全屏组件库,旨在简化在 React 应用中实现全屏功能的复杂性。通过利用现代浏览器提供的 Fullscreen API,React Fullscreen 能够将任意 React 组件无缝切换到全屏模式,为用户提供更加沉浸式的体验。 项目技术分析 核心技术 F...

gitblog_00145的博客 1430

vue、react、js实现全屏

【代码】vue、react、js实现全屏。

Davoid的博客 971
上一篇: react 使用 antd 的 tree组件 defaultExpandAllRows 无法默认展开?
下一篇: css3实现 png 图片高亮自左到右过渡的方式 (一张图实现不遮住png的透明背景)
归来巨星
归来巨星 新星创作者: 前端开发技术领域 新星创作者: 前端开发技术领域
博客等级 码龄7年 5391粉丝 95原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

归来巨星

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值