javascript – IE缓存动态添加的iframe.为什么,我该如何预防呢?

我有以下 HTML / JS:

<html>
  <body>
    <script>
      function foo(){
        var html = "<iframe src=\"foo.html\" />";
        document.getElementById('content').innerHTML=html;
      }

      function bar(){
        var html = "<iframe src=\"bar.html\" />";
        document.getElementById('content').innerHTML=html;
      }

      function show(){
        alert(document.getElementById('content').innerHTML);
      }
    </script>
    <button onclick="foo()">foo</button><br />
    <button onclick="bar()">bar</button><br />
    <button onclick="show()">test</button><br />    

    <div id="content"></div>
  </body>
</html>

这种工作如预期的那样,即使在IE中也是如此.直到我击中F5.当我第一次点击foo时,我得到了一个iframe,内容为foo.html,正如预期的那样.然后我刷新,然后点击吧.我没有看到bar.html的内容,而是看到了foo.html的内容.奇怪的是,当我点击测试时,alert()告诉我iframe的src属性被正确设置为bar.html. Firefox没有这样的问题.

为什么会发生这种情况,我该如何预防呢?

编辑:我忘了提到的是我无法将iframe放入并更改src属性.在我的实际情况中,有时我需要一个< img>而不是< iframe>.

您是否尝试更改生成的iframe中的网址?
例如.

var randomNum = Math.random();
var html = "<iframe src=\"bar.html?rand="+randomNum+"\" />";

更好的是,将它与geowa4的appendChild()建议结合起来.

相关文章
相关标签/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
公众号推荐
   一个历史类的公众号,欢迎关注
一两拨千金