當前位置:首頁 » 文件管理 » jsiframe緩存

jsiframe緩存

發布時間: 2022-09-24 00:53:10

㈠ 清理iframe 緩存

A頁面如下:
<body>
<iframe src="b.html" name="b" style="border:#3161C6 solid 2;">
</iframe>
<iframe src="main.html" name="main" style="border:#3161C6 solid 2;">
</iframe>
</body>
B頁面如下:
<body>
<a href="http://www..com" target="main">網路</a>
<a href="http://www.qq.com" target="main">QQ</a>
</body>
</html>

可以更新啊

㈡ 父頁面緩存的文件 iframe會用到嗎

iframe原本的用法在現在看來是不合時宜的,問題太多了,不一一列舉,但是它的其他功能卻是不錯的黑魔法,這里列舉一些,想到了再更新:

用來實現長連接,在websocket不可用的時候作為一種替代,最開始由google發明。Comet:基於 HTTP 長連接的「伺服器推」技術
跨域通信。javaScript跨域總結與解決辦法
歷史記錄管理,解決ajax化網站響應瀏覽器前進後退按鈕的方案,在html5的history api不可用時作為一種替代。
純前端的utf8和gbk編碼互轉。比如在utf8頁面需要生成一個gbk的encodeURIComponent字元串,可以通過頁面載入一個gbk的iframe,然後主頁面與子頁面通信的方式實現轉換,這樣就不用在頁面上插入一個非常巨大的編碼映射表文件了
評論里有提到,用iframe實現無刷新文件上傳,在FormData不可用時作為替代方案
to be continued ...

㈢ iframe子頁面訪問過後相應js 緩存在瀏覽器,怎麼不緩存

這兩天遇到一個很奇怪的問題,一個頁面嵌套了一個iframe頁面,當這個頁面提交後再次跳轉到本頁面時,原本iframe內的頁面應該刷新數據的,結果在ie下面卻沒刷新(FF下沒問題),必須手動F5或者新開一個瀏覽器標簽頁瀏覽才能刷新,否則在本頁面的瀏覽器上按回車是沒用的,查閱了很多資料,最後終於發現是iframe緩存機制在搞鬼,用以下方法即可解決:

<script type="text/JavaScript">
var randomnumber=Math.floor(Math.random()*100000)

document.write('
<iframe src="http://www.freedonation.com/hunger/hunger_thankyou.php3?randomnumber='+randomnumber+'" name="aframe" width="100%" height="400"></iframe>')

</script>

通過請求多加一個值為隨機數的參數,這樣瀏覽器認為每次請求的頁面都是新的而保證了iframe頁面每次都是重新載入的。

0


0

㈣ js載入iframe,導致iframe頁面刷新2次

為 IFRAME 標簽的 src 屬性指定具體 URL 後再將節點插入 DOM 樹中 。

㈤ javascript 如何獲取iframe裡面的內容

要解釋這個問題,首先要解釋兩個技術點。

  1. 每個「窗口」都是一個JS Runtime,即JS的運行時。如果只有一個窗口,那麼就只有一個Runtime;如果一個窗口下面還有一個iframe,那麼就有兩個Runtime;以此類推。

  2. Runtime之間互操作(或者通信)是有跨域限制的。也就是說,如果這個窗口本身是a..com域名下的頁面,那麼如果這個頁面下還有一個iframe,這個iframe中載入的頁面是b..com域名下的。那麼外層的JS。就不能跟這個iframe中的內容互操作(或者通信)。


因此外層Runtime中的JS想操作內層iframe中的內容,就必須要避免跨域限制。要麼內層iframe載入頁面的域名跟外層是一樣的。要麼就是需要在內層iframe載入的頁面中執行document.domain = '.com';從而設置跟外層的主域相同。


例如,當前頁面是a..com/test.html

<html>
<head>
</head>
<body>
<iframeid="iFrm1"src="

<script>
document.domain='.com';
varifrm1=document.getElementById('iFrm1');
ifrm1.onload=function(){
alert(ifrm1.contentWindow.document.getElementById('innerDiv').innerHTML);//彈出恭喜你操作到內部iframe中的元素了!!!
};
</script>
</body>
</html>


iframe中載入的頁面內容如下:

<html>
<head>
</head>
<body>
<divid="innerDiv">恭喜你操作到內部iframe中的元素了!!!</div>
<script>
document.domain='.com';
</script>
</body>
</html>


在HTML5中新增了postMessage的API。可以方便窗口跟內部iframe之間進行通信,並且可以實現跨主域通信。但是有一些限制,1.老版本的瀏覽器一般不支持。2.父窗口只能向iframe中發送信息,iframe只能收消息,且父窗口不能直接操作iframe中的內容。3.父窗口發送的數據也是有限制的。只能發送基本數據類型或者plain object。

㈥ 如何用JS獲取iframe裡面的內容

1、獲取iframe
eg. var ifr_window = window.frames["frameName"];
2、獲取iframe中的元素
eg1. 將iframe中id為elementId 的元素置為不顯示:
var ifr_window = window.frames["frameName"];
ifr_window.elementId.style.display = 'none';
eg2. 獲取iframe中id為listTable的表格
var oTable = window.frames["myFrame"].document.all.listTable;
3、隱藏或顯示表格的某列
js函數:
function setHiddenOrShowCol(oTable, iCol, type) {
for (i = 0; i < oTable.rows.length ; i++) {
oTable.rows[i].cells[iCol].style.display = type;
}
}
調用舉例,將id為listTable的表格元素的第4列置為不顯示:
var oTable = window.frames["myFrame"].document.all.listTable;
setHiddenOrShowCol(oTable, 3, 'none');
調用舉例2,將id為listTable的表格元素的第4列置為顯示:
var oTable = document.frames.myFrame.document.all.listTable;
setHiddenOrShowCol(oTable, 3, 'block');

㈦ js 前端過濾器 實現圖片緩存與版本控制更新的功能

兄台多慮了,以我個人見解,這個功能應該是前端js搞不定,你js什麼時候載入就是個問題,第二個問題就是js也檢測不到網路請求,那是瀏覽器乾的事。
但是針對緩存這事,一個是在服務端設置,也就少web服務或者少CDN那設置緩存。很多情況下,圖片,css都是默認緩存的,你打開開發者工具之後確保禁用緩存的復選框取消,你刷新一下,看看那圖片、css是不是就是304狀態。

㈧ 如何向iframe中寫入js代碼讓js在iframe中執行

1、首先,新建一個網頁。

㈨ ie中是不是相同的js因為緩存它只是載入一次

一個web工程的js文件發布後一般是不會變的,為了提高用戶訪問的速度,瀏覽器會把js,圖片等一些文件緩存到本地目錄,所以說一般都只載入一次,但是有時候我該了web工程下的js文件後,它有時候後刷新。

㈩ 用JS控制iframe里的頁面,做到3秒自動換一個。

<iframeid="ifr"src="http://www..com/XXXX.html"></iframe>

假定iframe的id為ifr

下面是js程序

vartimes=10;//循環次數

variframe=document.getElementById('ifr');//獲取iframe元素

//設置定時執行

vart=setInterval(function(){

if(times--<=0)clearInterval(t);

changeFrameSrc(iframe);

},3000);//3000毫秒

//改變iframe的src屬性的函數

functionchangeFrameSrc(f){

varsrc='http://www..com/'+rand(100,999)+'.html';//生成地址

f.src=src;

}

//隨機函數

functionrand(min,max){

returnparseInt(Math.random()*(max-min+1)+min);

}

熱點內容
集群伺服器地址都是一樣的嗎 發布:2024-10-10 01:07:39 瀏覽:325
java怎麼開平方 發布:2024-10-10 01:02:25 瀏覽:486
windowsserver更新伺服器搭建 發布:2024-10-10 00:42:32 瀏覽:657
kz解壓縮 發布:2024-10-10 00:27:19 瀏覽:667
方舟編譯器呢 發布:2024-10-10 00:13:41 瀏覽:914
阿里雲伺服器安裝圖形 發布:2024-10-09 23:40:45 瀏覽:863
cb編譯器怎麼下 發布:2024-10-09 23:37:38 瀏覽:8
編譯translation 發布:2024-10-09 23:24:23 瀏覽:10
伺服器cpu能供多少電腦使用 發布:2024-10-09 23:05:21 瀏覽:351
演算法和嵌入式 發布:2024-10-09 23:04:34 瀏覽:555