Window.onload并在x秒后运行

时间:2017-04-05 07:10:26

标签: javascript jquery html iframe

在页面完全加载此javascript代码后打开iframe:

<script>
    function loadFrame() {        
    var iframe = document.getElementById("defframe");
    iframe.src = "/frame.php"
};
window.onload = loadFrame;
</script>

HTML代码

<iframe id="defframe" frameBorder="0" scrolling="no" src="about:blank" />   </iframe>

这很完美,但我必须在加载页面10秒后加载此iframe。

1。等待window.onload

2. 如果window.onload已准备就绪,请在开火前等待10秒钟。

我试过

<script>
    window.onload = function loadFrame() {        
    var iframe = document.getElementById("defframe");
    iframe.src = "/frame.php"

    setTimeout(defframe, 10000)
};   
</script>

没有成功。非常感谢你

4 个答案:

答案 0 :(得分:2)

最简单的方法是保持功能不变,只需以不同方式调用即可。请按照以下代码:: 的 HTML:

<iframe id="defframe" frameBorder="0" scrolling="no" src="about:blank" >   </iframe>

<强> JS:

function loadFrame() {
    var iframe = document.getElementById("defframe");
    iframe.src = "/frame.php"
};
window.onload = setTimeout(loadFrame, 10000);

使用JSfiddle代码:: https://jsfiddle.net/rnrztx1d/1/

答案 1 :(得分:1)

你可以这样做,

window.onload = function loadFrame() {        
    setTimeout(function(){
          var iframe = document.getElementById("defframe");
          iframe.src = "/frame.php"

    }, 10000)
};  
在window.load中

你可以设置setTimeout函数10秒。

替代方式,

window.onload = function() {
  setTimeout(loadFrame(), 10000);
};

function loadFrame() {
  var iframe = document.getElementById("defframe");
  iframe.src = "/frame.php"
}

答案 2 :(得分:0)

我们必须将代码置于设置超时方法中。

<强> HTML:

<iframe id="defframe" frameBorder="0" scrolling="no" src="about:blank" />   </iframe>

<强> JS

window.onload = function loadDefFrame() {
 setTimeout(function () {
 loadFrame(); //call your method
},10000)};

完整代码:

<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<script>

  window.onload = function loadDefFrame() {
   setTimeout(function () {
   loadFrame(); //call your method
  },10000)};

  function loadFrame() {        
   var iframe = document.getElementById("defframe");
   iframe.src = "/frame.php"
  };

</script>
<body>

<iframe id="defframe" frameBorder="0" scrolling="no" src="about:blank" /></iframe>

</body>
</html>

答案 3 :(得分:0)

您需要在onload

中包含setTimeout进程
window.onload = function loadFrame() {
    setTimeout(function () {
        var iframe = document.getElementById("defframe");
        iframe.src = "/frame.php";
    }, 10000);
};