【发布时间】:2011-08-12 04:19:23
【问题描述】:
我有以下 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 时,我得到了一个包含 foo.html 内容的 iframe,正如预期的那样。然后我刷新并点击bar。我没有得到bar.html 的内容,而是看到了foo.html 的内容。奇怪的是,当我单击 test 时,alert() 告诉我 iframe 的 src 属性正确设置为 bar.html。 Firefox 没有这样的问题。
为什么会发生这种情况,我该如何预防?
edit: 我忘了说的是我不能把 iframe 放进去并改变 src 属性。在我的实际情况中,有时我需要<img> 而不是<iframe>。
【问题讨论】:
标签: javascript html internet-explorer dom cross-browser