IE iframe不刷新的问题之完美解决

本文介绍了解决IE浏览器中iframe页面提交后不自动刷新的解决方案,通过在URL中加入随机参数,确保每次请求都是新的,从而实现iframe页面的正确刷新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这段时间在编程过程中遇到一个很奇怪的问题,一个页面嵌套了一个iframe页面,当这个页面提交后再次跳转到本页面时,原本iframe内的页面应该刷新数据的,结果在ie下面却没刷新(FF下没问题),必须手动F5或者新开一个浏览器标签页浏览才能刷新,否则在本页面的浏览器上按回车是没用的,查阅了很多资料,最后终于发现是iframe缓存机制在搞鬼,经过网上高手指点终于发现用以下方法即可完美解决:

<script type="text/javascript">

  function refresh(e){

    var tempUrl = e.href;

    if(tempUrl.indexOf('?') != -1){

      tempUrl = tempUrl.subString(0, tempUrl.indexOf('?'));

    }

    e.href = e.href + "?random=" + Math.floor(Math.random()*100000);

  }

</script>

例如 iframe 名位content3

则超链接可以这样写

<a href="******" target="content3" onclick="refresh(this)" >test</a>

通过请求多加一个值为随机数的参数,这样浏览器认为每次请求的页面都是新的而保证了iframe页面每次都是重新加载的。

如果有需要参数的还可以这样:

<script type="text/javascript">

  function refresh(e, param){

    var tempUrl = e.href;

    if(tempUrl.indexOf('?') != -1){

      tempUrl = tempUrl.subString(0, tempUrl.indexOf('?'));

    }

    e.href = e.href + "?random=" + Math.floor(Math.random()*100000) +''+ param;

  }

</script>

例如 iframe 名位content3

则超链接可以这样写

<a href="******" target="content3" onclick="refresh(this, '&vtime=2011-11-11')" >test</a>

转载于:https://www.cnblogs.com/zcy_soft/archive/2011/09/07/2170001.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值