国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

jQuery中彈出iframe內(nèi)嵌頁面元素到父頁面并全屏化的實例代碼

2019-11-19 18:14:44
字體:
供稿:網(wǎng)友

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

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

然后高高興興的拿一個沒有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).....

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

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

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

那就趕緊試試找到父類并執(zhí)行全屏功能,把頁面(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,  假設(shè)我不知道是哪個頁面要引入我的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>

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

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

這里分享一個jQuery下載的地址:jquery下載所有版本(實時更新)

以上所述是小編給大家介紹的jQuery中彈出iframe內(nèi)嵌頁面元素到父頁面并全屏化的實現(xiàn)代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 南丰县| 无锡市| 沙田区| 青河县| 潍坊市| 长乐市| 越西县| 霞浦县| 浦东新区| 钦州市| 苏尼特右旗| 辛集市| 白朗县| 金溪县| 西充县| 方山县| 襄城县| 广东省| 康乐县| 广河县| 遂平县| 信丰县| 葫芦岛市| 阳高县| 广灵县| 开封县| 杭锦旗| 长寿区| 建阳市| 大连市| 内丘县| 遂宁市| 建德市| 临潭县| 普兰店市| 鹤岗市| 长丰县| 金乡县| 德庆县| 合作市| 洛宁县|