加载时iFrame黑匣子?

时间:2013-06-30 18:53:36

标签: html iframe

我在页面中有一个iFrame。当页面加载时,iFrame显示为黑盒子,直到它也被加载。这在视觉上分散了注意力。如何在页面加载时阻止显示黑匣子?

iFrame Code + CSS:

<iframe class="iframe-email-signup" frameborder="0" src="/src.html"></iframe>

/* CSS for above Class */

.iframe-email-signup{
   max-height:7em;
   background: none !important;
}

遇到问题的网站是:http://www.checkplusbalance.com/

电子邮件注册框位于您在开放网站上看到的正文下方。

1 个答案:

答案 0 :(得分:0)

以下是我能够解决黑匣子问题的方法。我找不到一个只有CSS的解决方案,所以我只在iFrame加载后才使用JS来显示iFrame。

iFrame代码

<iframe id="iFrameID" frameborder="0" src="src.html"></iframe>

CSS

#iFrameID{
   display:none;
}

JS

$(function() {
   $("#iFrameID").on('load', function () {
       $("#iFrameID").fadeIn("fast");
   });
}); 

注意:

如果用户禁用了JS,则iFrame将不会显示。在我的情况下,如果没有启用JS,iFrame的内容将无法工作,所以我对此感到满意。

使用JS隐藏iFrame还有其他解决方法,因此如果用户没有JS,他们仍会看到iFrame。您还可以在<noscript>标记中包含重复的iFrame。我选择了最符合我情况的方法。