简单实现 iframe 全屏显示

深入解析iframe全屏权限问题:从screenfull报错到跨浏览器兼容方案 本文深入解析了iframe内全屏功能失效的常见问题,核心在于正确设置权限属性。文章从解决screenfull报错入手,详细对比了传统的allowfullscreen属性与现代的allow属性,并提供了基于screenfull.js的跨浏览器兼容方案与实战代码示例,帮助开发者彻底解决iframe全屏权限与兼容性难题。 阅读详情

需求

  • 点击全屏按钮,让页面iframe全屏展示
  • 点击退出全屏按钮,让页面iframe退出全屏

代码实现

  • HTML代码实现
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        * {margin: 0;padding: 0;}
        .content-parent {width: 800px;height: 600px;margin: 0 auto;background-color: aquamarine;}
        .content-parent h1 {text-align: center;}
        /*设置全屏样式*/
        #iframe-one:-webkit-full-screen {width: 100%;height: 100%;}
    </style>
</head>
<body>
<div class="content-parent">
    <button id="goAmpl">子页面全屏化</button>
    <button id="outAmpl"></button>
    <iframe id="iframe-one" name="iframe-one" src="https://www.baidu.com" width="100%" height="200" scrolling="no"
            frameborder="0"></iframe>
 
</div>
</body>
</html>
  • JavaScript 代码实现
	/**
     * 进入全屏
     * @param element
     */
    function requestFullScreen(element) {
        var requestMethod = element.requestFullScreen || element.webkitRequestFullScreen || element.mozRequestFullScreen || element.msRequestFullScreen;
        if (requestMethod) {
            requestMethod.call(element);
        } else if (typeof window.ActiveXObject !== "undefined") {
            var wscript = new ActiveXObject("WScript.Shell");
            if (wscript !== null) {
                wscript.SendKeys("{F11}");
            }
        }
    }


    /**
     * 退出全屏
     */
    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();
        }
    }
    
    document.getElementById('goAmpl').onclick = function () {
        let iframe = document.getElementById("iframe-one");
        requestFullScreen(iframe);
    }
    document.getElementById('outAmpl').onclick = function () {
        let iframe = document.getElementById("iframe-one");
        exitFullscreen(iframe);
    }

注意

  • 如果div不设置background style则使用webkitRequestFullScreen全屏时,div会被黑色填充
  • WebKit 不会自动添加全屏样式,需要手动实现
	#iframe-one:-webkit-full-screen {
		width: 100%;
		height: 100%;
	}
实现js图片在iframe内嵌页面全屏显示的技术方法 iframe是 HTML 中的内联框架元素,它允许你在当前页面中嵌入另一个独立的 HTML 页面。通过使用 iframe,可以将网页分成几个独立的部分,每个部分可以加载不同的网页。上述代码段在网页中嵌入了一个名为的页面,尺寸为宽 500 像素,高 300 像素。 阅读详情

相关推荐

LabVIEW vs Python:谁更适合你的ATE自动化测试系统?实测对比与选型建议

本文深入对比了LabVIEW和Python在ATE自动化测试系统中的性能表现、开发效率和应用场景,帮助工程师根据实时控制需求、数据处理复杂度及团队技能做出最优选型决策。通过实测数据和典型案例,分析两者在硬件集成、系统性能和维护成本等方面的差异,并提供混合架构实施建议。

weixin_29240711的博客 276

实现iframe里面的页面全屏

iframe中实现点击全屏

青春正在燃烧的博客 2690

Python实战:3种高效方法将txt转csv(附pandas对比测试)

本文针对Python中将txt文件转换为csv格式的需求,深度评测了open()、csv模块和pandas三种主流方法。通过详尽的性能对比测试,从执行效率、内存占用和适用场景等维度提供选型指南,帮助开发者根据数据规模与复杂度选择最高效的转换方案。

weixin_29073241的博客 262

iframe框架自适应大小/全屏显示网页框架的方法

全页面全屏显示iframe,并且随网页和显示设备自适应,框架中的目标网页支持自适应才可以实现自适应。 本文部分内容来源于网络,转载请注明来源,如需投诉请联系我们906270629@qq.com

仿站、源码搭建/迁移技术博客 7348

20 CVPR Learning 3D Semantic Scene Graphs From 3D Indoor Reconstructions 学习笔记

3RScan是大规模真实世界的室内场景,特点是对478个自然改变的室内环境在不同的时间帧进行了1482 RGB-D scans,每一个scene都包括了一些位置被改变的物体。它和ScanNet数据集的区别主要在于ScanNet中的每一个采样环境都不相同,但是3RScan中存在采样环境相同但物体的位置不同的场景。Scene Graph Annotations 则是在3RScan的基础上给物体加入了场景图需要的关系、物体特征和类别标注,同时对3RScan进行了扩展,以此形成了场景图数据。

weixin_43508459的博客 1835

自动驾驶轨迹规划算法——Apollo EM Planner

Apollo EM Planner 是百度自动驾驶系统中的轨迹规划算法,采用期望-最大化(EM)迭代优化思想。其核心是将轨迹规划分解为路径优化(E-Step)和速度优化(M-Step)两个子问题,在Frenet坐标系下交替求解。算法先通过动态规划(DP)搜索粗路径,再使用二次规划(QP)进行平滑优化,并结合障碍物信息生成安全走廊。相较Lattice、Hybrid A*等规划器,EM Planner具有更好的实时性、动态障碍物处理能力和轨迹平滑性,适用于城市道路、高速公路等复杂场景。该算法通过解耦路径与速度优

swaggytiger的博客 2666

html实现iframe全屏

html实现iframe全屏

weixin_43992507的博客 3077

unity制作交互视频/互动视频

unity制作交互视频/互动视频 思路 1.先让unity播放视频 2. 视频播放结束后,视频暂停,按钮出现 3.按钮跳转下一个视频 视频播放 先创建UI-Raw Iamge 在Raw Iamge 挂载组件 Video Player 接着挂载视频播放的脚本 using UnityEngine; using UnityEngine.UI; using UnityEngine.Video; publi...

weixin_45588911的博客 8425

原声js控制浏览器全屏或者退出全屏

开启全屏 if (document.documentElement.requestFullscreen) { document.documentElement.requestFullscreen(); } //FireFox else if (document.documentElement.mozRequestFullScreen) { document.docum...

qq_41114603的博客 1476

在Qt中使用EtherCAT-SOEM的初始化中,状态机卡在PreOp->Save-Op过程中,出现State=0x12, Error=0x001e错误的解决办法

1.在调试EtherCAT软件过程中,一直出现配置从站进不了Save_op状态,通过下函数检查从站状态: //使用的从站编号为1 只有1个从站 ec_slave[1].state = EC_STATE_SAFE_OP; ec_writestate(1); //设置到安全模式 ec_statecheck(1, EC_STATE_SAFE_OP, EC_TIMEOUTSTATE * 4); printf("Slave %d State=0x%2.2x StatusCode=0x%4

zeal_for_rov的博客 6828

12、每日卫星任务规划问题的不同公式

本文探讨了卫星任务规划问题的多种数学公式表示方法,包括传统的整数线性规划(ILP)模型、改进的基于路径的公式、基于集合覆盖的公式以及动态规划公式。通过案例研究比较了不同公式的求解效率和适用场景,并提供了使用Python进行实际求解的操作步骤。最后讨论了进一步优化策略及未来研究方向,旨在为解决卫星任务规划问题提供全面的理论支持和实践指导。

assembly8low的博客 203

H5 嵌套iframe并设置全屏

H5 嵌套iframe并设置全屏

weixin_45563734的博客 1429

efm32 入门.pdf

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

禁止iframe手机全屏_iframe全屏兼容(按钮在iframe里)

/*全屏iframe*/function quan() {/*全屏iframe兼容*/var docElm =document.documentElement;if(docElm.requestFullscreen) {docElm.requestFullscreen();}else if(docElm.mozRequestFullScreen) {docElm.mozRequestFullScr...

weixin_39974811的博客 246

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

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

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

关于在iframe嵌套子页,子页面页面过期后,一些链接的登录框在子页面显示的问题

我想许多朋友肯定也会遇到相同的问题:当使用iframe后,框架是:上左右结构的。上是一排菜单呀logo呀。左边是详细的菜单选项。右边是内容的显示。都是通过菜单链接进入右边内容显示区。这种在信息系统里面比较普遍。问题在于,由于session过期,再次操作需要重新登录进入系统。也就是说整个页面需要跳到login的登录界面。但是。由于在详细菜单中设置了target=“***”,诸如类似的东西。就导致,s

halon博客 2311

一个简单的html嵌套

一个简单的html嵌套源码 源码 嵌套测试360问题

weixin_44923049的博客 119

多层嵌套iframe如何去除滚动条

让iframe滚动条问题不在困扰你

m0_37790484的博客 974

html中iframe全屏显示,如何让iframe中的元素全屏

最近项目中iframe让人恶心,iframe只要一出现,写的正常代码就容易出现各种bug,比如iframe中的元素不能document.getElementBy...正常获取,比如iframe中的元素不能正常全屏。(前两篇都有谈到)如何让iframe中的元素全屏显示,在网上也搜了很多资料,没有看到有什么好的方法,所以写写自己的解决方法。首先有几个坑:**1. ** 父页面中获取iframe子页面中...

weixin_42511255的博客 8352

全屏功能_iframe内置框内显示全屏

全屏功能分三步: 1.开启全屏: /* 全屏启动方法 */ function fullScreen(el) {        var rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullScreen,            

IT_COOKIE_SAM的博客 7409

iframe嵌套其它网站页面 全屏设置

今天在使用iframe时,发现嵌套页面中有个【全屏】功能,不好使,查了一下,发现iframe还有1个属性allowfullscreen设置,可以设置是否支持全屏,默认是false,现在把iframe的基础属性整理一下。 iframe基本属性 通常我们使用iframe主要设置src,宽、高,是否滚动,其实有一些不常用的属性 <iframe src="https://www.baidu.com" frameborder="0" width="80%" height="500px"><.

不畏惧被人讨厌而是勇往直前,不随波逐流而是激流勇进,这才是对人而言的自由。 1万+

jquery单独元素实现全屏显示

按下F11,全屏显示 $(document).bind("keydown", function (event) { if (event.which == 122) { $("#iframeTest").css("background-image", "url(../../Images/images/bg.png)"); lau...

weixin_45286267的博客 3934

html中iframe全屏显示,支持iframe自适应,并全屏iframe_html/css_WEB-ITnose

support iframe responsive and fullscreen iframe(支持iframe自适应,并全屏iframe)###################################################################1.use jquery iframe resizer(it will autoresize iframe when con...

weixin_42354933的博客 1142

如何让iframe中的元素全屏

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33995481的博客 3456

html iframe高度全屏,全屏iframe的高度为100%

你可以使用框架作为以前的答案状态,但如果你坚持使用iFrames,下面的两个例子应该工作: 替代: 如上所示隐藏滚动2种select: 与第二个例子一起使用: 为了隐藏iFrame的滚动条,父项被设置为overflow: hidden隐藏滚动条,并且iFrame的宽度和高度达到150%,强制页面外的滚动条,因为body没有滚动条可能不会指望iframe超出页面的边界。 这隐藏了iFrame的全部滚...

weixin_39622225的博客 2653
上一篇: Application Server was not connected before run configuration stop, reason: Unable to ping…解决办法
下一篇: ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.2.48' (110)
dadeity
博客等级 码龄10年 1172粉丝 225原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

dadeity

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

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

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

打赏作者

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

抵扣说明:

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

余额充值