延迟iframe的负荷?(Delay load of iframe?)

2019-08-20 06:43发布

我知道有延迟的JavaScript加载一些工具和技术,但我有我想延迟加载,直到页面的其余部分之后,已经完成下载和渲染一个iframe(iframe中是一个隐藏的事,不直到发现有人点击页面上的特定标签上,是否有延迟的iframe负荷的方法吗?任何建议,将不胜感激,谢谢!

Answer 1:

用jQuery很容易!

无论是附上代码,加载内的iframe $()或使用$(document).ready(function(){})这两者是相同的,后DOM准备将执行你的代码!

$(document).ready(function(){
    $('iframe#iframe_id').attr('src', 'iframe_url');    
});

多见于http://www.learningjquery.com/2006/09/introducing-document-ready



Answer 2:

不知道是不是需要做的没有JavaScript的运行。 但是,最好的方法是改变SRC直接的iframe后:

<iframe id="myIframe" src="http://.." />
<script type="text/javascript">
  var iframe = document.getElementById('myIframe').src = iframe.src;
  iframe.src = '';
  document.onload =  function(){iframe.src = src;}
</script>

使用$(文件)后,DOM树是建立。就绪就可以开始您的iFrame的直接呈现,但都在你的身边的内容被加载之前,所以我觉得这是不是你想要的。

jQuery有事件.load,这是相同的onload(所有资源被加载之后)

$(window).load(function(){  iframe.src = src; }


Answer 3:

使用JavaScript在onload事件,或在按钮单击处理程序,设置iframe的src属性。



Answer 4:

这对我的作品,但如果你在所有更改代码有问题:

function loadIFrame() {
    window.frames['BodyFrame'].document.location.href = "iframe.html";
}         
function delayedLoad() {
    window.setTimeout(loadIFrame2, 5000);
}

使用:

<iframe src="" onLoad="delayedLoad()"></iframe>


Answer 5:

页面后的负荷的iFrame加载使用jQuery和一点HTML和JS

 // Javascript $(window).bind("load", function() { $('#dna_video').prepend('<iframe src="//player.vimeo.com/video/86554151" width="680" height="383" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>'); }); 
 <!-- Append JQuery--> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <!-- HTML --> <div id="dna_video"></div> 



Answer 6:

您还可以应用显示:无与CSS的iframe,然后使用jQuery的.show是这样的:

$(document).ready(function(){ 
    $('iframe.class_goes_here').show(); 
});


Answer 7:

您可以使用defer属性时,需要加载后的CSS,JS等最后:

iframe defer src="//player.vimeo.com/video/89455262"


Answer 8:

window.setTimeout(function(){   
$("#myframe").attr("src","exp3.html");
$("#myframediv").show("slow");
},4000);

试试这个,这也适用。



Answer 9:

我不明白为什么每个人都混淆JAVASCRIPT与jQuery,但...

纯JS的解决方法是如下:(基本上它等待要构建的DOM然后加载所有的I帧在你的页面)。

<iframe src="" data-src="YOUR ACTUAL iFRAME URL">
<script type="text/javascript">
      function load_iframes() {
var vidDefer = document.getElementsByTagName('iframe');
for (var i=0; i<vidDefer.length; i++) {
if(vidDefer[i].getAttribute('data-src')) {
vidDefer[i].setAttribute('src',vidDefer[i].getAttribute('data-src'));
} } }
      document.addEventListener("DOMContentLoaded", function(event) {
         load_iframes();
      });
    </script>

注意:要小心使用document.load事件。 有问题或有任何资源花费1分钟负载将停止执行代码。 此代码段是从调整了(由domcontentloaded代替负载) 这个参考 。



Answer 10:

还是我最喜欢的应用

setTimeout('your app', 6000)

这将使它等待的毫秒x次调用任何功能....



文章来源: Delay load of iframe?