javascript IFrame 強制刷新代碼
更新時間:2009年07月23日 17:12:28 作者:
經(jīng)常會使用多個iframe來展示領域模型主子關系(主/子單),測試發(fā)現(xiàn)iframe是有cache功能的
當?shù)谝淮螐闹鞔翱谶M入到一個iframe簡稱{A}中,此時這個{A}中呈現(xiàn)的數(shù)據(jù)是新的,這時我又點了另外的一個iframe簡稱{B},這里{B}的數(shù)據(jù)也是新的,在{B}中進行一些邏輯處理,如向{A}中批量增加模型數(shù)據(jù),這里我們再進入到{A}中會發(fā)現(xiàn)數(shù)據(jù)是被緩存著的。因為是從{B}中對批量操作了{A}的數(shù)據(jù),{B}是與server通信的,也就是會進行邏輯層/持久層操作,這樣server端更新的呈現(xiàn)部分是{B}而不是全部,這也就是局部刷新,只刷{B}。而我們需要做的是讓{A}中的內容也跟著變。
解決方案:
·很明顯iframe.window.location.reload();不符合當前需求。
·使用window.setTimeout(iframe.window.loadction.reload(),1000);這種方式會造成多次刷新,如果還要在{A}中對{B}的數(shù)據(jù)進行更新呢?
·研究了半天,其實可以直接從iframe cache問題入手來解決,很easy,直接不讓它緩存不就完了,不緩存了,當然也就用不著刷新了。
示例:
function doInsert2BatchCallBack() {
var pIf = parent.document.getElementById('IFRAME_A');
pIf.src = pIf.src + "&".concat(Math.random());
//提交批量導入請求
}
解決方案:
·很明顯iframe.window.location.reload();不符合當前需求。
·使用window.setTimeout(iframe.window.loadction.reload(),1000);這種方式會造成多次刷新,如果還要在{A}中對{B}的數(shù)據(jù)進行更新呢?
·研究了半天,其實可以直接從iframe cache問題入手來解決,很easy,直接不讓它緩存不就完了,不緩存了,當然也就用不著刷新了。
示例:
復制代碼 代碼如下:
function doInsert2BatchCallBack() {
var pIf = parent.document.getElementById('IFRAME_A');
pIf.src = pIf.src + "&".concat(Math.random());
//提交批量導入請求
}
相關文章
教你JavaScript利用charAt()統(tǒng)計出現(xiàn)次數(shù)最多的字符和次數(shù)
這篇文章主要介紹了JavaScript利用charAt()統(tǒng)計出現(xiàn)次數(shù)最多的字符和次數(shù)的操作方法,本文以判斷一個字符串'aabcdobdackoppz'中出現(xiàn)次數(shù)最多的字符,并統(tǒng)計其次數(shù)為例,通過實例代碼給大家詳細介紹,需要的朋友參考下吧2021-08-08
firefox中用javascript實現(xiàn)鼠標位置的定位
firefox中用javascript實現(xiàn)鼠標位置的定位...2007-06-06
JavaScript函數(shù)內部屬性和函數(shù)方法實例詳解
函數(shù)是由事件驅動的或者當它被調用時執(zhí)行的可重復使用的代碼塊。通過本文給大家介紹JavaScript函數(shù)內部屬性和函數(shù)方法,感興趣的朋友一起學習吧2016-03-03

