javascript - iframe onreadystatechange

标签 javascript dom iframe dom-events

我有一个包含 <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/

相关文章:

php - $node->nextSibling 总是给出 DOMAttr (仅限文本节点)

javascript - 使用 JavaScript 在 &lt;textarea&gt; 上随机播放选定的文本

javascript - 正则表达式 : Array Match

java - 如何上传图片并将其保存到数据库中?

javascript - 如何在 jquery 中停止 Ajax 调用

javascript - jqgrid 删除网格内的所有行

javascript - 在图像加载时删除背景图像

javascript - Iframe 元素通过 Id 访问,给出 null

java - spring 文件上传中回调

javascript - 防止父页面向下滚动到 iframe