html实现iframe全屏

news/2024/7/19 15:07:55 标签: html, javascript, 前端, 全屏, js

前言

html浏览器全屏操作,基于jquery
iframe全屏、指定标签全屏

实现

css

/** 全屏*/
.lay-dbclick-box{
	position: relative;
	width: 100%;
    height: 100%;
}
.lay-dbclick-screen{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
    height: 100%;
    z-index: 99999999999999;
}
.lay-fullScreen{
	position: fixed;
    left: 0;
    top: 0;
    border-radius: 0;
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    z-index: 9999999999999;
}

html
关键是lay-dbclick-box和lay-dbclick-screen,其中的iframe是内容

html"><div class="lay-dbclick-box">
	<iframe src="" width="100%" height="100%" id="fullb" frameborder="0" allowfullscreen="" ></iframe>
	<div class="lay-dbclick-screen"></div>
</div>

js

javascript">
openFullScreen();

/**
 * -------------------------------------------------------------------------------------------------------
 * 通用全屏操作
 */
function openFullScreen(){
	// 双击全屏/退出全屏
	$(".lay-dbclick-screen").dblclick(function(){
		var val = $(this).parent().attr("lay-svalue");
		if(!val){
			$(this).parent().addClass("lay-fullScreen");
			$(this).parent().attr("lay-svalue", 1);
			fullScreen();
		}else{
			$(this).parent().removeClass("lay-fullScreen");
			$(this).parent().attr("lay-svalue", "");
			exitFullscreen();
		}
	})
	// 全屏事件监听
	document.addEventListener("fullscreenchange", function(){
        if (getFullscreenElement() == null) {
        	console.log("-----------------[退出全屏]--------------")
           $(".lay-fullScreen").attr("lay-svalue", "");
			$(".lay-fullScreen").removeClass("lay-fullScreen");
			exitFullscreen();
        }else {
            console.log("-----------------[打开全屏]--------------")
        }
    })
}

/**
 * -------------------------------------------------------------------------------------------------------
 * 获取全屏状态
 */
function getFullscreenElement(){
    return (
        document['fullscreenElement'] ||
        document['mozFullScreenElement'] ||
        document['msFullScreenElement'] ||
        document['webkitFullscreenElement'] || null
    );
}

/**
 * -------------------------------------------------------------------------------------------------------
 * 全屏
 */
function fullScreen() {
    var element = document.documentElement;
    if (element.requestFullscreen) {
        element.requestFullscreen();
    } else if (element.msRequestFullscreen) {
        element.msRequestFullscreen();
    } else if (element.mozRequestFullScreen) {
        element.mozRequestFullScreen();
    } else if (element.webkitRequestFullscreen) {
        element.webkitRequestFullscreen();
    }
}

/**
 * --------------------------------------------------------------------------------------------------------
 * 退出全屏
 */
function exitFullscreen() {
    if (document.exitFullscreen) {
        document.exitFullscreen();
    } else if (document.msExitFullscreen) {
        document.msExitFullscreen();
    } else if (document.mozCancelFullScreen) {
        document.mozCancelFullScreen();
    } else if (document.webkitExitFullscreen) {
        document.webkitExitFullscreen();
    }
}

http://www.niftyadmin.cn/n/4972305.html

相关文章

Java8 新特性Optional

1&#xff0c;前提 最近看项目代码&#xff0c;发现好多地方都使用到了Optional&#xff0c;所以在此记录一下&#xff0c;后面Optional使用还会持续更新此文章。。。。 2&#xff0c;代码 import java.math.BigDecimal; import java.time.LocalDate; import java.time.Local…

LeetCode669. 修剪二叉搜索树

669. 修剪二叉搜索树 文章目录 [669. 修剪二叉搜索树](https://leetcode.cn/problems/trim-a-binary-search-tree/)一、题目二、题解方法一&#xff1a;递归法方法二&#xff1a;迭代法 一、题目 给你二叉搜索树的根节点 root &#xff0c;同时给定最小边界low 和最大边界 hig…

通讯录(C语言)

通讯录 一、基本思路及功能介绍二、功能实现1.基础菜单的实现2.添加联系人信息功能实现3.显示联系人信息功能实现4.删除联系人信息功能实现5.查找联系人信息功能实现6.修改联系人信息功能实现7.排序联系人信息功能实现8.加载和保存联系人信息功能实现 三、源文件展示1.test.c2.…

JavaScript立即执行函数(自执行函数)的3种写法

一、什么是立即执行函数 顾名思义&#xff0c;声明一个函数并马上调用这个函数就叫做立即执行函数&#xff1b;也可以说立即执行函数是一种语法&#xff0c;让你的函数在定义以后立即执行&#xff1b;立即执行函数又叫做自执行函数。 二、立即执行函数的写法 立即执行函数的…

国际版腾讯云/阿里云:什么是腾讯云同享带宽包?

什么是腾讯云同享带宽包&#xff1f; 腾讯云同享带宽包是一种多 IP 带宽聚合的流量计费方式&#xff0c;假设您在广州注册了同享带宽包&#xff0c;那么一切设备将可选择按同享带宽包方式计费。 我应该怎样注册带宽包&#xff1f; 惯例 BGP 预付费带宽包、香港精品 BGP 预付费…

红利期已过?2023跨境电商还吃香吗?亚马逊还能做吗?

2022年&#xff0c;由于疫情反复和外部因素的影响&#xff0c;跨境电商的情况并不乐观。但这并不意味着跨境电商已经走到了绝境。随着贸易全球化的深入发展&#xff0c;平台规则不断完善&#xff0c;国家相继出台最新的扶持政策&#xff0c;为跨境电商企业带来了更多的发展机遇…

浅谈分布式共识算法概念与演进

分布式共识是指在分布式系统中&#xff0c;多个节点之间达成共识的过程。 分布式共识的意义在于确保分布式系统中各个节点之间的数据一致性。通过分布式共识算法&#xff0c;可以使得多个节点针对某个状态达成一致&#xff0c;从而保证系统中各个节点之间的数据一致性。这对于…

java从入门到起飞(五)——数组、集合

文章目录 Java数组什么是数组&#xff1f;声明和初始化数组访问数组元素数组长度遍历数组数组的常见操作多维数组访问多维数组元素 总结 Java集合框架介绍1. 什么是Java集合框架2. 集合的特点2.1 动态性2.2 类型安全2.3 高效性2.4 可扩展性 3. 集合的常用操作3.1 添加元素3.2 删…