当前位置:首页 » 文件管理 » 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);

}

热点内容
东北大学c语言考试题 发布:2025-07-12 13:26:40 浏览:755
sha256在线加密 发布:2025-07-12 13:19:06 浏览:227
vbnet创建数据库连接 发布:2025-07-12 13:15:34 浏览:232
为什么社保卡在社康还要密码 发布:2025-07-12 13:11:42 浏览:811
取随机数php 发布:2025-07-12 12:58:16 浏览:840
如何配置组合音响 发布:2025-07-12 12:53:54 浏览:93
c语言幂计算 发布:2025-07-12 12:52:36 浏览:566
兔费WLAN密码多少 发布:2025-07-12 12:50:59 浏览:861
阿里云分布式存储 发布:2025-07-12 12:45:04 浏览:535
sql日志压缩 发布:2025-07-12 12:39:53 浏览:343