iframe和弹窗这些词对于js高手来说都是耳熟能详的东西,作为一个新人来说,还在学习阶段的我就在工作中遇到这么一个奇葩的需求,要在引入的iframe页面里做一个全屏化的功能.

粗略一看,这还不容易,模拟下F11的功能键什么的,于是网上一搜还真有一大堆关于全屏化的案例,遂借来用之.
然后高高兴兴的拿一个没有iframe引入的页面做了个测试页面查看全屏化功能效果,代码如下(fullScreenPage.html):
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Control Tower</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body style="margin: 0px;height: 100%;width: 100%;">
<div id="buttonPanel" style="position: absolute;left: 25%;z-index:100">
<input id="full_screen_open" type="button" value="打开全屏">
<input id="full_screen_close" type="button" value="退出全屏" style="display: none">
</div>
<div id="container" style="display:table;height: 50%;width: 50%;background-color: #004981;position:absolute;left: 25%;">
<div style="display:table-cell;height: 50%;width: 50%;text-align: center;vertical-align: middle;border: 2px solid #DDDDDD;">
<font id="font" size="30"></font>
</div>
</div>
</body>
<script src="./scripts/jquery/jquery-1.11.3.js" type="text/javascript"></script>
<script type="text/javascript">
$("#full_screen_open").on("click",function(){
requestFullScreen($("#container")['0']);
$("#font").empty();
$("#font").text("已打开全屏化");
});
var requestFullScreen = function(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}");
}
}
}
</script>
</html>
嗯,我自己觉得这个效果真的是不要太棒了,还做了浏览器兼容(FireFox=mozRequestFullScreen;W3C=requestFullscreen;Chrome等=webkitRequestFullScreen;ie11=msRequestFullscreen).....
于是,我立马放到项目里,结果是什么样子呢?执行下面的代码(parentPage.html)就知道了....
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Control Tower</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body style="margin: 0px;height: 100%;width: 100%;"> <div id="parentContainer" style="height: 75%;width: 75%;position:absolute;left: 12.5%;border: 2px solid red;"> <!-- 蓝色边框以内的内容是引入的iframe页面内容,也是需要做全屏化功能的页面 --> <iframe src="fullScreenPage.html" style="border: 2px solid blue;height: 100%;width: 100%;"></iframe> </div> </body> </html>
哦豁,好像没生效,那么为什么呢?
很明显没有起作用,那么怎么办呢?既然引入的子页面iframe不生效,是不是从父页面或许就可以了?
那就赶紧试试找到父类并执行全屏功能,把页面(fullScreenPage.html)改一改,代码如下:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Control Tower</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body style="margin: 0px;height: 100%;width: 100%;">
<div id="buttonPanel" style="position: absolute;left: 25%;z-index:100">
<input id="full_screen_open" type="button" value="打开全屏">
<input id="full_screen_close" type="button" value="退出全屏" style="display: none">
</div>
<div id="container" style="display:table;height: 50%;width: 50%;background-color: #004981;position:absolute;left: 25%;">
<div style="display:table-cell;height: 50%;width: 50%;text-align: center;vertical-align: middle;border: 2px solid #DDDDDD;">
<font id="font" size="30"></font>
</div>
</div>
</body>
<script src="./scripts/jquery/jquery-1.11.3.js" type="text/javascript"></script>
<script type="text/javascript">
$("#full_screen_open").on("click",function(){
/* 获取父类的document */
var parentDoc = parent.document;
/* 定义一个接收元素的变量 */
var thisIframe = null;
/* 用jQuery遍历父类的所有iframe,找到我引入的那个iframe,
假设我不知道是哪个页面要引入我的iframe,但是引入我的iframe的src肯定会有引入这个页面的名字,
所以通过这个去检索,一定能找到引入这个页面的iframe,然后把这个iframe的元素全屏化也就是把原来的页面全屏化 */
$("iframe",window.parent.document).each(function(index,e){
if (e.src.indexOf("fullScreenPage.html") > 0) {
thisIframe = e;
return false;
}
});
requestFullScreen(thisIframe);
$("#font").empty();
$("#font").text("已打开全屏化");
});
var requestFullScreen = function(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}");
}
}
}
</script>
</html>
哈哈,改了之后发现果然可以了,问题解决。
jQuery还请自行下载并导入引用,我这里就不细说了.
这里分享一个jQuery下载的地址:jquery下载所有版本(实时更新)
以上所述是小编给大家介绍的jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# iframe内嵌页面到父页面
# iframe全屏化
# JQueryiframe页面操作父页面中的元素与方法(实例讲解)
# jquery、js调用iframe父窗口与子窗口元素的方法整理
# js与jQuery 获取父窗、子窗的iframe
# JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
# jquery 查找iframe父级页面元素的实现代码
# iframe里面的元素触发父窗口元素事件的jquery代码
# 使用jquery/js获取iframe父子级、同级获取元素的方法
# JQUERY 获取IFrame中对象及获取其父窗口中对象示例
# jQuery实现iframe父窗体和子窗体的相互调用
# 利用JQuery操作iframe父页面、子页面的元素和方法汇总
# 全屏
# 小编
# 的是
# 都是
# 我就
# 会有
# 我不
# 还在
# 那就
# 在此
# 就不
# 遍历
# 到我
# 要在
# 不容易
# 给大家
# 弹出
# 做一个
# 作为一个
# 耳熟能详
相关文章:
制作企业网站建设方案,怎样建设一个公司网站?
建站之星如何实现网站加密操作?
建站VPS能否同时实现高效与安全翻墙?
如何高效配置IIS服务器搭建网站?
宝塔面板如何快速创建新站点?
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
如何在阿里云香港服务器快速搭建网站?
网站制作软件免费下载安装,有哪些免费下载的软件网站?
东莞专业制作网站的公司,东莞大学生网的网址是什么?
宝塔新建站点为何无法访问?如何排查?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
香港服务器选型指南:免备案配置与高效建站方案解析
建站之星×万网:智能建站系统+自助建站平台一键生成
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
如何获取免费开源的自助建站系统源码?
如何快速查询域名建站关键信息?
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
高防服务器租用如何选择配置与防御等级?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
定制建站流程步骤详解:一站式方案设计与开发指南
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
XML的“混合内容”是什么 怎么用DTD或XSD定义
实例解析angularjs的filter过滤器
Python多线程使用规范_线程安全解析【教程】
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
电脑免费海报制作网站推荐,招聘海报哪个网站多?
自助网站制作软件,个人如何自助建网站?
如何通过宝塔面板实现本地网站访问?
如何选择域名并搭建高效网站?
制作网站的软件免费下载,免费制作app哪个平台好?
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
网页设计与网站制作内容,怎样注册网站?
如何有效防御Web建站篡改攻击?
建站之星后台密码遗忘如何找回?
,怎么在广州志愿者网站注册?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
音响网站制作视频教程,隆霸音响官方网站?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
湖州网站制作公司有哪些,浙江中蓝新能源公司官网?
如何快速搭建FTP站点实现文件共享?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
网站制作新手教程,新手建设一个网站需要注意些什么?
建站主机功能解析:服务器选择与快速搭建指南
婚礼视频制作网站,学习*后期制作的网站有哪些?
如何在Tomcat中配置并部署网站项目?
教学网站制作软件,学习*后期制作的网站有哪些?
定制建站哪家更专业可靠?推荐榜单揭晓
*请认真填写需求信息,我们会在24小时内与您取得联系。