【问题标题】:iframe flashes "white" on loadiframe 在加载时闪烁“白色”
【发布时间】:2010-02-28 13:58:21
【问题描述】:

我在我的项目中使用 iframe,似乎每当它在不透明背景上加载内容时 - 它会在正确显示之前闪烁“白色”大约 1 秒钟。

它似乎在 jQuery 脚本准备好之前触发了加载事件。我试过了

style="visibility:hidden;" onload="this.style.visibility = 'visible';"

但不起作用。有什么其他的想法可以摆脱这个吗?

【问题讨论】:

标签: jquery events iframe background


【解决方案1】:

尝试使用:

style="display:none" onload="this.style.display = 'block';"

visibility:hidden 实际上并没有像这样“隐藏”元素 - 如果它是可见的,它仍然会占用空间。 display:none 实际上使元素完全不可见,就好像它不存在一样。

【讨论】:

  • 没问题。当我第一次了解visibility: hidden 时,我遇到了类似的问题。 :)
【解决方案2】:

如果您可以控制框架页面 - 将该页面上的背景颜色设置为透明。大多数浏览器默认是白色的

【讨论】:

    【解决方案3】:

    我遇到了一些困难:

    style="display:none" onload="this.style.display = 'block';"

    在我的情况下使用 Chrome 和 Safari。

    如果这些对您不起作用,请尝试:

    style="opacity: 0;" onload="this.style.opacity = 1;"

    【讨论】:

      【解决方案4】:

      我确实遇到了这个问题,并尝试了此页面上的所有补救措施,但均未成功。它在 Chrome 上闪烁,而不是在 FireFox 上。

      对我有用的是改变:

      $("#iframe").prop('src', url);
      

      $("#iframe").attr('href', url);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-23
        • 2012-02-05
        • 2012-06-18
        • 1970-01-01
        • 1970-01-01
        • 2021-12-24
        相关资源
        最近更新 更多