zoukankan      html  css  js  c++  java
  • IE iframe不刷新的问题之完美解决

    这段时间在编程过程中遇到一个很奇怪的问题,一个页面嵌套了一个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>

  • 相关阅读:
    函数参数的讨论
    redirect-windows-cmd-stdout-and-stderr-to-a-single-file
    rust 多文件工程
    rust: 默认初始化,函数重载
    VSCode如何格式化所有文件
    FLV协议5分钟入门浅析
    WebRTC:数据传输相关协议简介
    WebSocket协议:5分钟从入门到精通
    Nodejs进阶:crypto模块中你需要掌握的安全基础知识
    前端进阶之路:如何高质量完成产品需求开发
  • 原文地址:https://www.cnblogs.com/zcy_soft/p/2170001.html
Copyright © 2011-2022 走看看