【问题标题】:2 iframes with the same display even if the src are different即使 src 不同,2 个 iframe 也具有相同的显示
【发布时间】:2011-02-13 10:54:11
【问题描述】:

我正在使用此代码:

<div class="infobox-pair">
<div class="ibp-left">
    <iframe width="105" height="350" frameborder="0" scrolling="no" style="width: 311px; height: 105px;" marginwidth="0" marginheight="0" name="infobox_flight" id="ibp-left-iframe" src="http://mywebpage.com/paris"></iframe>
</div>
<div class="ibp-right">
    <iframe width="105" height="350" frameborder="0" scrolling="no" style="width: 311px; height: 105px;" marginwidth="0" marginheight="0" name="infobox_package" id="ibp-right-iframe" src="http://mywebpage.com/lisbonne"></iframe>
</div>

即在同一个 div 中显示两个不同的 iframe。当我无论使用哪种浏览器显示页面时,即使查看源代码 iframe 仍然不同(基于它们的 src 和 id),我也可以获得两个 iframe 的相同内容。

它不会 100% 发生,有时我必须刷新几次才能看到它。

你有什么线索吗?

提前致谢

【问题讨论】:

  • 在上面的代码中是的,但我只是从
    所在的原始代码中快速编辑它。谢谢

标签: browser iframe cross-browser


【解决方案1】:

请记住,当您在 IE 和其他一些浏览器中刷新时,浏览器将保留 iframe 的“当前”src="" 值,因此如果您在 iframe 中浏览了一下,然后按 F5 ,每个 iframe 的当前最后导航路径仍在 iframe 中。您是否有可能以某种方式导航到同一页面?

让 iframe 在刷新 (f5) 时“重置”回其初始 src 值的唯一可靠方法是使用 javascript 将其 src 设置为页面加载事件的一部分。我建议将标记中的初始 src 设置为“about:blank”,并始终以编程方式更改它。

【讨论】:

  • 谢谢大卫,如果问题仍然出现,我会在下次更新时尝试这个解决方案
  • 重置源 URL 时,例如在 JavaScript 中,您可以轻松添加时间戳参数。这样 URL 将始终是唯一的,并且浏览器不会简单地提取缓存的版本。您的 src URL 最终会看起来像这样:mywebpage.com/paris?ts=1279655438109
【解决方案2】:

这个问题已经得到了很长时间的回答,但有一些额外的信息可能会对网络开发人员有所帮助。

如果您之前在浏览器中加载过 iFrame 1,那么新添加的 iFrame 2 将显示相同的内容,即使在多次刷新后也是如此。尝试按 Ctrl + F5,或在浏览器中清除临时文件,这可以将 iFrame src 重置为正确的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-05
    相关资源
    最近更新 更多