全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码

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小时内与您取得联系。