【JS Plugin】fullscreen (简易轻量化类原生的高兼容窗口全屏控件)

本文档介绍了一个轻量级的全屏控件库,兼容多种浏览器,包括Chrome、Firefox等。该控件提供API如request、exit、toggle等功能,用于方便地切换页面元素的全屏显示,并支持监听全屏状态变化的回调。示例代码展示了如何使用这些API进行全屏操作及事件绑定。
摘要由CSDN通过智能技术生成

fullscreen (全屏控件)

项目主页

https://gitee.com/miikio/fullscreen

项目简介

API属性

属性名称属性类型API描述API返回
.isEnabledBoolean全屏控件是否可用
.isFullscreenBoolean当前是否已全屏
.proxyKeydownBoolean当前是否已代理F11按键切换全屏
.elementHTMLElement当前全屏的元素
.requestFunction启用全屏。参数:(element: 变为全屏的元素,默认为HTML根元素, options: 全屏配置)Promise<any>
.exitFunction退出全屏Promise<any>
.toggleFunction切换全屏。参数:(valid: 是否全屏,默认为切换, element: 变为全屏的元素,仅切换为全屏时生效, options: 全屏配置,仅切换为全屏时生效)Promise<any>
.onchangeFunction全屏状态更变成功的回调 (仅赋值更改)Function
.onerrorFunction全屏状态更变出错的回调 (仅赋值更改)Function
.onFunction绑定全屏状态更变成功/出错的回调事件。参数:(type: ( ‘change’ | ‘error’ ), handler: 回调方法, options: 绑定配置)void
.offFunction解绑全屏状态更变成功/出错的回调事件。参数:(type: ( ‘change’ | ‘error’ ), handler: 回调方法, options: 绑定配置)void
.rawObject当前控件实例支持的原生API名称

使用示例

// 引入控件实例,路径为具体引入包的位置
import fullscreen from 'fullscreen'

// 当前环境是否支持全屏控件可用
console.log(fullscreen.isEnabled)

// 当前是否已开启全屏
console.log(fullscreen.isFullscreen)

// 当前是否已代理F11按键切换全屏
console.log(fullscreen.proxyKeydown)

// 当前全屏的元素
console.log(fullscreen.element)

// 代理按键切换全屏,启用后控件监听对通过F11按键切换全屏生效
fullscreen.proxyKeydown = true

// 启用全屏
fullscreen.request()

// 将文档中某个元素启用全屏
fullscreen.request(document.getElementById('demo'))

// 退出全屏
fullscreen.exit()

// 切换全屏
fullscreen.toggle()

// 等同于启用全屏
fullscreen.toggle(true)

// 等同于退出全屏
fullscreen.toggle(false)

// 将文档中某个元素切换全屏 (多次执行可见效果)
fullscreen.toggle(document.getElementById('demo'))

// 绑定一个全屏状态更变成功时的操作
fullscreen.onchange = function (e) {
  console.log('onchange: ', e)
}

// 绑定一个全屏状态更变出错时的操作
fullscreen.onerror = function (e) {
  console.log('onerror: ', e)
}

// 绑定/解绑一个全屏状态更变成功时的操作
const fn = function (e) { console.log('change: ', e) }
fullscreen.on('change', fn)
fullscreen.off('change', fn)

// 为全屏元素添加伪类样式
const cssRule = `.demo${fullscreen.raw[':fullscreen']} { background: red; }`
if (document.styleSheets.length) {
  const sheet = document.styleSheets[document.styleSheets.length - 1]
  sheet.insertRule(cssRule, sheet.cssRules.length)
} else {
  const style = document.createElement('style')
  style.innerHTML = cssRule
  document.head.appendChild(style)
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值