我有一个包含 <iframe>
的 HTML 页面. <iframe>
正在根据某些事件进行刷新(我可以看到 <iframe>
的内容正在更改,所以到目前为止一切正常)。
我想做的是添加一个 onreadystatechange
到 <iframe>
这样我就可以在获取内容时显示“正在加载”文本。
我无法添加 onreadystatechange
在任何浏览器(Safari、Chrome、Firefox)中。从我在 Internet 上找到的内容来看,它似乎在 IE 中工作,但这对我没有帮助。
我试过:
<iframe onreadystatechange="function();">
document.getElementById('frameId').onreadystatechange = function() {};
document.getElementById('frameId').contentDocument.onreadystatechange = function() {};
但似乎没有任何效果。
最佳答案
因此,如果您想显示“页面正在加载”消息并在 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>
关于javascript - iframe onreadystatechange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6725797/