午夜大片爽爽爽免费影院丨色综合色综合久久综合频道88丨日韩人妻无码中文字幕视频丨一本无码久本草在线中文字幕dvd丨国产午夜亚洲精品国产成人

彈出iframe內嵌頁面元素到父頁面并全屏化

2016/12/27 8:36:33   閱讀:1976    發布者:1976

iframe和彈窗這些詞對于js高手來說都是耳熟能詳的東西,作為一個新人來說,
還在學習階段的我就在工作中遇到這么一個奇葩的需求,要在引入的iframe
頁面里做一個全屏化的功能.

粗略一看,這還不容易,模擬下F11的功能鍵什么的,于是網上一搜還真
有一大堆關于全屏化的案例,遂借來用之.

然后高高興興的拿一個沒有iframe引入的頁面做了個測試頁面查看全屏化功能效果,
代碼如下(fullScreenPage.html):

 1 <!DOCTYPE html> 
 2 <html xmlns="http://www.w3.org/1999/xhtml"> 
 3 <head> 
 4     <title>Control Tower</title> 
 5     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
 6 </head> 
 7 <body style="margin: 0px;height: 100%;width: 100%;"> 
 8     <div id="buttonPanel" style="position: absolute;left: 25%;z-index:100"> 
 9         <input id="full_screen_open" type="button" value="打開全屏"> 
10         <input id="full_screen_close" type="button" value="退出全屏"
style="display: none"> 11 </div> 12 <div id="container" style="display:table;height: 50%;width: 50%;
background-color: #004981;position:absolute;left: 25%;"
> 13 <div style="display:table-cell;height: 50%;width: 50%;text-align:
center;vertical-align: middle;border: 2px solid #DDDDDD;"
> 14 <font id="font" size="30"></font> 15 </div> 16 </div> 17 </body> 18 <script src="./js/jquery-1.11.3.js" type="text/javascript"></script> 19 <script type="text/javascript"> 20 $("#full_screen_open").on("click",function(){ 21 requestFullScreen($("#container")[0]); 22 $("#font").empty(); 23 $("#font").text("已打開全屏化"); 24 }); 25 var requestFullScreen = function(element) { 26 var requestMethod = element.requestFullScreen ||
element.webkitRequestFullScreen || element.mozRequestFullScreen ||
element.msRequestFullScreen; 27 if (requestMethod) { 28 requestMethod.call(element); 29 } else if (typeof window.ActiveXObject !== "undefined") { 30 var wscript = new ActiveXObject("WScript.Shell"); 31 if (wscript !== null) { 32 wscript.SendKeys("{F11}"); 33 } 34 } 35 } 36 </script> 37 </html>

嗯,我自己覺得這個效果真的是不要太棒了,還做了瀏覽器兼容
(FireFox=mozRequestFullScreen;W3C=requestFullscreen;Chrome
等=webkitRequestFullScreen;ie11=msRequestFullscreen).....

于是,我立馬放到項目里,結果是什么樣子呢?執行下面的代碼(parentPage.html)就知道了....

 1 <!DOCTYPE html> 
 2 <html xmlns="http://www.w3.org/1999/xhtml"> 
 3 <head> 
 4     <title>Control Tower</title> 
 5     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
 6 </head> 
 7 <body style="margin: 0px;height: 100%;width: 100%;"> 
 8     <div id="parentContainer" style="height: 75%;width: 75%;
position:absolute;left: 12.5%;border: 2px solid red;"
> 9 <!-- 藍色邊框以內的內容是引入的iframe頁面內容,也是需要做全屏化功能的頁面 --> 10 <iframe src="fullScreenPage.html" style="border: 2px solid blue;
height: 100%;width: 100%;"
></iframe> 11 </div> 12 </body> 13 </html>

哦豁,好像沒生效,那么為什么呢?

很明顯沒有起作用,那么怎么辦呢?既然引入的子頁面iframe不生效,是不是從父頁面或許就可以了?

那就趕緊試試找到父類并執行全屏功能,把頁面(fullScreenPage.html)改一改,代碼如下:

 1 <!DOCTYPE html> 
 2 <html xmlns="http://www.w3.org/1999/xhtml"> 
 3 <head> 
 4     <title>Control Tower</title> 
 5     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
 6 </head> 
 7 <body style="margin: 0px;height: 100%;width: 100%;"> 
 8     <div id="buttonPanel" style="position: absolute;left: 25%;z-index:100"> 
 9         <input id="full_screen_open" type="button" value="打開全屏"> 
10         <input id="full_screen_close" type="button" value="退出全屏" style="display: none"> 
11     </div> 
12     <div id="container" style="display:table;height: 50%;width: 50%;
background-color: #004981;position:absolute;left: 25%;"
> 13 <div style="display:table-cell;height: 50%;width: 50%;text-align: center;
vertical-align: middle;border: 2px solid #DDDDDD;"
> 14 <font id="font" size="30"></font> 15 </div> 16 </div> 17 </body> 18 <script src="./scripts/jquery/jquery-1.11.3.js" type="text/javascript"></script> 19 <script type="text/javascript"> 20 $("#full_screen_open").on("click",function(){ 21 /* 獲取父類的document */ 22 var parentDoc = parent.document; 23 /* 定義一個接收元素的變量 */ 24 var thisIframe = null; 25 /* 用jQuery遍歷父類的所有iframe,找到我引入的那個iframe, 26 假設我不知道是哪個頁面要引入我的iframe,但是引入我的
iframe的src肯定會有引入這個頁面的名字,
27 所以通過這個去檢索,一定能找到引入這個頁面的iframe,
然后把這個iframe的元素全屏化也就是把原來的頁面全屏化
*/ 28 $("iframe",window.parent.document).each(function(index,e){ 29 if (e.src.indexOf("fullScreenPage.html") > 0) { 30 thisIframe = e; 31 return false; 32 } 33 }); 34 requestFullScreen(thisIframe); 35 $("#font").empty(); 36 $("#font").text("已打開全屏化"); 37 }); 38 var requestFullScreen = function(element) { 39 var requestMethod = element.requestFullScreen ||
element.webkitRequestFullScreen ||
element.mozRequestFullScreen || element.msRequestFullScreen; 40 if (requestMethod) { 41 requestMethod.call(element); 42 } else if (typeof window.ActiveXObject !== "undefined") { 43 var wscript = new ActiveXObject("WScript.Shell"); 44 if (wscript !== null) { 45 wscript.SendKeys("{F11}"); 46 } 47 } 48 } 49 </script> 50 </html>

 

哈哈,改了之后發現果然可以了,問題解決。

jQuery還請自行下載并導入引用,我這里就不細說了.

 

主站蜘蛛池模板: 天堂资源官网在线资源| 国产成人无码a在线观看不卡| 国产人妻精品久久久久久| 国产精品亚洲综合久久系列| 精品国产你懂的在线观看| 中日韩中文字幕无码一本| 中文字幕精品亚洲字幕资源网| 麻豆精产国品| 国产成人国产在线观看| 日本真人做爰免费的视频| 国产高清狼人香蕉在线| 好男人在在线社区www在线影院 | 成年美女看的黄网站色戒| 国产明星精品无码av换脸| 3d动漫精品一区二区三区| 国产成人亚洲精品| 亚洲欧洲日韩综合色天使| 高潮喷水抽搐无码免费| 亚洲国产精品无码专区| 国产精品视频一区二区三区四| 日本护士后进式高潮| 中文字幕久久久人妻无码 | 亚洲女同精品一区二区| 亚洲精品午夜无码专区| 亚洲欧美日韩综合久久久| 国产精品无码久久综合网| 97人妻中文字幕总站| 中文字幕人妻熟女人妻| 麻豆精品国产精华精华液好用吗| 亚洲欧美综合区丁香五月小说| 国产黑色丝袜在线视频| 国产午夜精品一区理论片| 黑巨人与欧美精品一区| 久久99精品久久久久久9蜜桃| 午夜国人精品av免费看| 日韩精品视频一区二区三区| 神马影院午夜dy888| 少妇久久久被弄到高潮| 黑人巨茎大战俄罗斯美女| 成 人 社区在线视频| 国产精品视频免费播放|