是否可以在加载内容时将加载器图像放在iframe中?

时间:2012-03-22 05:11:02

标签: javascript css facebook html5 dom

我正在Facebook标签iframe内容页面中工作,因为我需要几秒钟才能显示我网站的iframe内容我想知道如果我可以在iframe中放置一个加载gif来显示(可能是身体背景图像)而其加载其余的内容。

我看到iframe随便附带所有图片。所以我想知道如果有任何方法可以执行此操作或iframe的内容加载并一起显示。

我尝试将图像作为背景,但它不起作用。两人走到了一起。

3 个答案:

答案 0 :(得分:2)

您无法修改来自其他域的iframe的内容。

但是,您可以使用主窗口中的绝对定位将图像放在嵌入式iframe的顶部,这样可以实现您想要的效果,而不会导致主页设计复杂化或更改。

以下是一个示例:http://jsfiddle.net/jfriend00/DajS4


如果您的代码位于iframe中,并且您希望在页面加载到iframe之前显示某些内容,而您不控制父级,则无需执行任何操作。在加载代码之前,您无法动态执行任何操作,然后页面才会开始显示。

您所能做的就是在页面上加载非常快速的内容(可能就像页面第一个标记中的小图片一样),这应该是首先显示的内容之一,然后当您的页面成功完成时加载,你会隐藏那个小图像。除了快速显示某些内容之外,在加载之前您无法执行任何操作,因此在加载之前无法显示任何内容。它必须是创建你的父窗口,它早先做了一些事情。

答案 1 :(得分:0)

嗯,

我明白你想要实现的目标。但我知道实现这一目标的唯一方法是使用ajax加载所有内容。

将ajax函数设置为在页面加载时运行。并在页面的正文中放置一个这样的gif加载器..

希望你明白我想说的是什么!

答案 2 :(得分:0)

您可以使用AJAX加载页面。

<div id="loading">loading..</div>
<div id="content" style="display:none"></div>

$(function() {
    $('#content').load('http://url', function() {
        $('#loading').hide();
        $(this).show();
    }
});

注意:所有javascript的位置应位于页面底部,以提高加载速度。