1. 程式人生 > >如何讓iframe使用父頁面的js檔案,不用每次去伺服器做請求

如何讓iframe使用父頁面的js檔案,不用每次去伺服器做請求

最近在研究做後臺頁面時候,遇到頁面載入過慢,除錯一看,js載入太多,由於使用的是iframe導致瀏覽器每次都要載入js和css,別說快取就不會,

快取對iframe一點效果也沒有,只是對當前的頁面有效,而且iframe還是動態的建立建立的,於是就有了引用父頁面的js想法.

//獲得這個iframe物件
var iframe = $("iframe");
//如果當前頁面引用了jquery,那麼在當前頁面的window中會有一個$屬性
//我們需要的就是他,如果引用其他的js可以做成js物件的形式
//列印一些下你可以看到
console.log(window);

//這樣就獲得iframe的window物件
var iframeWindow = iframe.prop('contentWindow');
//在iframe的window物件中建立一個屬性名為$的屬性,並且把當前頁面window物件中的jquery物件複製到iframe中的$屬性上
//為什麼不是 iframeWindow.$ = window.$;由於js程式碼的記憶體管理機制,這樣做只是指向父頁面window物件的$屬性,所以使用jquery的深度複製物件
//互不干擾
iframeWindow.$ = $.extend(window.$);
//這樣就可以在iframe中直接使用$中的函式



//iframe引用父頁面的css,請關注下次的部落格

相關推薦

如何iframe使用頁面的js檔案,不用每次伺服器請求

最近在研究做後臺頁面時候,遇到頁面載入過慢,除錯一看,js載入太多,由於使用的是iframe導致瀏覽器每次都要載入js和css,別說快取就不會, 快取對iframe一點效果也沒有,只是對當前的頁面有效,而且iframe還是動態的建立建立的,於是就有了引用父頁面的js想法.

iframe頁面中的bootstrap模態框的背景覆蓋到頁面

      程式碼具體地址 https://github.com/thinkiveWJ/mozan ,可以直接跑起來     父頁面的body元素新增class="top"作為是否是最頂層頁面的標識 &n

chrome瀏覽器 iframe頁面呼叫頁面JS函式的問題

今天遇到一個iframe子頁面呼叫父頁面js函式的需求,解決起來很簡單,但是在chrome瀏覽器遇到一點小問題。順便寫一下iframe的父頁面呼叫子頁面javascript函式的方法吧,備用! 1、iframe子頁面呼叫 父頁面js函式 子頁面呼叫父頁面函式只需要寫上window.praent就可以了。比如

【HTML/JS,JQuery】JQuery操作iframe頁面與子頁面的元素與方法

http://www.cnblogs.com/imteach/p/3798375.html JQUERY IFRAME 下面簡單使用Jquery來操作iframe的一些記錄,這個使用純JS也可以實現。 第一、在iframe中查詢父頁面元素的方法: $('#id',

IFrame頁面和子頁面的交互

targe fix content ava 所有 屬性獲取 entry 地址 arc 現在在頁面裏面用到iframe的情況越來越少了,但有時還是避免不了,甚至這些頁面之間還需要用js來做交互,那麽這些頁面如何操作彼此的dom呢?下面將會逐步介紹。 1.父頁面操作子頁面

iframe頁面與子頁面的互動

<iframe id="child" name="child" src="child.html"></iframe> 1.父頁面獲取子頁面的window物件 var childiframeWin = document.getElementById("child")

iframe頁面獲取子頁面元素方法

網上那些父頁面獲取子頁面元素的方法,無論我怎麼試,就是不行, 然後我就列印$(window.frames["myiframe"])依次找方法: 1.$(window.frames["iframe的id"].contentDocument.documentElement).find(".mycontaine

iframe 頁面與子頁面互相呼叫方法

HTML: <iframe src="" name="childframe" id="childframe" style="width:100%;min-height:400px;border:solid 1px #0062d5;" frameborder="0"&g

重新整理iframe,頁面連帶重新整理

iframe重新整理父頁面  iframe頁面是內嵌到父頁面的,當點選iframe頁面的伺服器控制元件時,預設只重新整理iframe頁面,父頁面是不會重新整理的。若想重新整理父頁面,可以使用js來實現,如              1. parent.location.reload(); window.pa

JS 在open開啟的視窗中呼叫頁面JS方法

   function uploadImgFile(id){          window.open("${base}/ajax/picupload.action?parentImgUrlId="+id,"","height=300, width=500, toolba

如何操作iframe頁面中的元素、方法、變數

方法 1. 在iframe中查詢父頁面元素的方法: jQuery的方法:$("#id",window.parent.document) 原生的方法:window.parent.docu

iframe頁面獲取子頁面的引數

1、父頁面中的iframe <iframe name="parentPage"></iframe>2、子頁面中元素的屬性 <input type="text" id

iframe頁面與子頁面之間的元素獲取與方法呼叫

父頁面與子頁面之間的元素獲取與方法呼叫: 1、JS 父調子 子調父 元素 window.frames[iframe的name屬性值]; ① window.parent.document.getEle

MyEclipse和tomcat如何配置修改了Java程式碼後不用重啟伺服器

conf/Context.xml是Tomcat公用的環境配置;若在server.xml中增加<Context path="/test" docBase="D:\test" debug="0" reloadable="false"/>的話,則myApp/META

如何iframe無法呼叫頁面的js程式碼或元素,而頁面可以呼叫iframe

//這些js在父頁面中寫 //獲得iframe物件 var iframe = $("iframe"); //繫結載入事件 iframe.on("load",function(){ //幹掉父類引用 $(this).prop('contentWindow').parent="

iframe頁面頁面元素的訪問以及js變量的訪問

++ src 行修改 動態 class ria 方法 修改 左右 1、子頁面訪問父頁面元素 parent.document.getElementById(‘id‘)和document相關的方法都可以這樣用 2、父頁面訪問子頁面元素 document.

jsiframe頁面頁面通信

瀏覽器 cti data pos href 事件 java win 兩種方法 iframe子頁面與父頁面通信根據iframe中src屬性是同域鏈接還是跨域鏈接,通信方式也不同。 一、同域下父子頁面的通信 父頁面parent.html <html> <h

JS元素和子元素樣式設定及Iframe頁面裝載

本身JS是弱項,慢慢增加這方面的知識量,遇到自己寫的JS就往這裡面存一下吧! 遇到這樣一個場景:一排按鈕,點選其中一個按鈕需要把當前按鈕標明出來,但是之前的按鈕這個樣式的又要清除掉。於是就用到了啦! 另外將網頁子頁面裝載到iframe裡面去,不能用href直接連線(開啟新

頁面呼叫iframe中的js方法

在父頁面中呼叫ifame子頁面中的js方法: 第一種知道方法名: window.frames["myContentIframeName"].getMyContent(); 第二種方法名是動態變的 eval("window.frames['" + iframeVar + "']." + methodName);

iframe頁面js的相互呼叫

1、iframe子頁面呼叫父頁面js函式  子頁面呼叫父頁面函式只需要寫上window.praent就可以了。比如呼叫a()函式,就寫成:  複製程式碼程式碼如下: window.parent.a();  子頁面取父頁面中的標籤中的值,比如該標籤的id為“test”,則:  複製程式碼程式碼如下: