我有以下 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。我没有得到 的内容bar.html
,而是看到 的内容foo.html
。奇怪的是,当我单击test时,它alert()
告诉我src
iframe 的属性已正确设置为bar.html
. Firefox 没有这样的问题。
为什么会发生这种情况,我该如何预防?
编辑:我忘了提到的是我不能放入 iframe 并更改 src 属性。在我的实际情况中,有时我需要一个<img>
而不是一个<iframe>
.