<strike id="3tkic"><sup id="3tkic"></sup></strike>

  1. <ul id="3tkic"></ul>
      <b id="3tkic"><legend id="3tkic"></legend></b>
      <b id="3tkic"><meter id="3tkic"></meter></b>

    • <strike id="3tkic"></strike>

      <blockquote id="3tkic"></blockquote>

    • 亚洲AV无码国产在丝袜线观看_亚洲第一页A∨在线_亚洲国产人成在线观看69网站_无码日韩人妻AV一区免费l

      彈出iframe內(nèi)嵌頁面元素到父頁面并全屏化

      2016/12/27 8:36:33   閱讀:1909    發(fā)布者:1909

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

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

      然后高高興興的拿一個(gè)沒有iframe引入的頁面做了個(gè)測試頁面查看全屏化功能效果,
      代碼如下(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>

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

      于是,我立馬放到項(xiàng)目里,結(jié)果是什么樣子呢?執(zhí)行下面的代碼(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 <!-- 藍(lán)色邊框以內(nèi)的內(nèi)容是引入的iframe頁面內(nèi)容,也是需要做全屏化功能的頁面 --> 10 <iframe src="fullScreenPage.html" style="border: 2px solid blue;
      height: 100%;width: 100%;"
      ></iframe> 11 </div> 12 </body> 13 </html>

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

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

      那就趕緊試試找到父類并執(zhí)行全屏功能,把頁面(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 /* 定義一個(gè)接收元素的變量 */ 24 var thisIframe = null; 25 /* 用jQuery遍歷父類的所有iframe,找到我引入的那個(gè)iframe, 26 假設(shè)我不知道是哪個(gè)頁面要引入我的iframe,但是引入我的
      iframe的src肯定會有引入這個(gè)頁面的名字,
      27 所以通過這個(gè)去檢索,一定能找到引入這個(gè)頁面的iframe,
      然后把這個(gè)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>

       

      哈哈,改了之后發(fā)現(xiàn)果然可以了,問題解決。

      jQuery還請自行下載并導(dǎo)入引用,我這里就不細(xì)說了.

       

      亚洲AV无码国产在丝袜线观看_亚洲第一页A∨在线_亚洲国产人成在线观看69网站_无码日韩人妻AV一区免费l
      <strike id="3tkic"><sup id="3tkic"></sup></strike>

      1. <ul id="3tkic"></ul>
          <b id="3tkic"><legend id="3tkic"></legend></b>
          <b id="3tkic"><meter id="3tkic"></meter></b>

        • <strike id="3tkic"></strike>

          <blockquote id="3tkic"></blockquote>

        • 文成县| 衡水市| 永和县| 桐柏县| 莲花县| 尚志市| 乌恰县| 高平市| 石门县| 彭阳县| 崇左市| 常山县| 郁南县| 安化县| 横峰县| 荥经县| 东源县| 蒲江县| 青冈县| 灵川县| 应城市| 法库县| 三台县| 夏邑县| 成武县| 那曲县| 铁力市| 台东县| 姚安县| 扎赉特旗| 汪清县| 渭南市| 惠水县| 伊通| 朝阳市| 桓台县| 博兴县| 潼南县| 沈丘县| 邹平县| 诸暨市|