我有一个包含<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() {};
但似乎没有任何效果。
感谢您的帮助。
答案 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>