延迟页面呈现,直到加载iframe

时间:2014-03-18 09:15:24

标签: javascript jquery html iframe

我们有以下情况:

  • 我们有一个网页(我们称之为 Page A ),它只为我们提供网站标题。
  • 我们有另一个网页(我们称之为 Page B ),它为我们提供了没有标题的内容,并在隐藏的iframe中包含 Page A
  • 当加载 Page A 时,它将获得自己的HTML并将其添加到 Page B 中的空div中。

所有这些都按预期工作。

我的问题:

我是否可以在 Page B 到达iframe时延迟页面呈现,等待加载iframe以及在 Page A 中填充HTML以继续渲染。行为应该就像我从同步AJAX调用中调用内容一样。这个想法不是在填充菜单HTML之前显示主菜单下面的页面内容。

此背后的商业逻辑:

我们使用外部服务作为论坛,我们需要在上面添加我们的网站标题。他们可以作为一个free-html插槽提供我们自己的HTML。标头是动态的,因此我们需要每次从URL加载它。由于他们的网站响应速度更快,我们不希望内容加载,不久之后菜单就会突然冒出来。在继续显示内容之前,我们需要填充菜单HTML。菜单HTML由iFrame从iFrame填充,因此我们需要等待它加载。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

也许你可以通过style =“display:none;”隐藏页面B的内容然后在iframe的加载事件触发时显示内容。

答案 1 :(得分:0)

在内容加载的事件处理程序中动态插入<iframe>的标记。由于您已对问题jquery

进行了标记
$(window).on("load", function() {
    var iframe = $("iframe").attr("src",url).whatever();
    $("whatever selector").append(iframe);

})