iframe onreadystatechange

时间:2011-07-17 18:20:23

标签: javascript dom iframe javascript-events

我有一个包含<iframe>的HTML页面。 <iframe>正在刷新某些事件(我可以看到<iframe>的内容被更改,所以一切正常。)

我想要做的是向onreadystatechange添加<iframe>,以便在提取内容时显示“加载”文字。

我无法在任何浏览器(Safari,Chrome,FF)中添加onreadystatechange。从我在互联网上发现它似乎在IE中工作,但这对我没有帮助。

我试过了:

<iframe onreadystatechange="function();"> document.getElementById('frameId').onreadystatechange = function() {}; document.getElementById('frameId').contentDocument.onreadystatechange = function() {};

但似乎没有任何效果。

感谢您的帮助。

1 个答案:

答案 0 :(得分:7)

因此,如果您想要显示“页面正在加载”消息并在iframe完成加载时隐藏此信息,您可以执行类似于以下示例的操作。请注意,我使用JQuery来简化此过程。但显然它也可以在100%Javascript中完成。

我还在JSFiddle上创建了这个,以显示结果。检查here!!

<html>
<head>
<script type="text/javascript">

function load() {
   //iframe has loaded.
   $('div#loading').delay(1000).slideUp('slow', function() {
        $('div#finished').slideDown('slow').delay('2000').slideUp('slow');
        $('iframe').toggle();
   });
}
</script>
</head>
<body>

     <div id="loading">This page is currently loading.. Just a sec please!</div>
     <div id="finished" style="display: none">Thanks for waiting, enjoy my website now!</div>
     <iframe style="display: none" onload="load()" src="your_url.php"></iframe>

</body>
</html>