如何在iframe加载时运行代码

时间:2016-11-16 10:30:05

标签: javascript jquery html iframe delay

我几天来一直在与这个问题作斗争,最后找到了部分解决方案,但我认为可以改进。

在我的项目中,我有一系列包含视频的iframe个。单击链接时会显示幻灯片过渡,当再次单击该链接时,视频会停止,并且包含span的{​​{1}}也会被隐藏。

这是通过添加和删除css类" open"来实现的。它有高度和过渡。除此之外,我还有一个事件监听器,它在视频完成时也会折叠包含的范围。所有这一切都很好,为了节省时间,我没有发布代码。

我遇到的问题是页面加载速度慢,所以我从html中删除了iframe的{​​{1}}属性,并将其移动到我的js文件中,并在点击后分配执行。这不起作用,我意识到我需要src完全加载才能运行其他代码,然后点击"点击"方法。所以我将这部分代码延迟了100ms。

所有这一切都有效,但我觉得最好让其余的代码在100毫秒失效后运行,但加载iframe时(如果较慢的计算机查看页面)。不知道怎么做。

以下是现在的代码:

iframe

相当新的开发,所以我正在寻找最简单的方法来做到这一点。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

以下是加载iframe时调用代码的一个非常简单的示例。查看onload代码的iframe属性:



<head>
  <script>
  function frameLoaded() {
    alert('frame loaded!');
  };
  </script>
</head>

<body>
  <iframe id="frame" src="https://en.wikipedia.org/wiki/HTML_element#Frames" onload="frameLoaded(this)" />
</body>
&#13;
&#13;
&#13;