iframe onreadystatechange

发布于 2024-11-25 06:20:05 字数 637 浏览 2 评论 0原文

我有一个包含 的 HTML 页面。 在某些事件上正在刷新(我可以看到 的内容正在更改,所以到目前为止一切正常)。

我想要做的是将 onreadystatechange 添加到 中,以便我可以在获取内容时显示“正在加载”文本。

我无法在任何浏览器(Safari、Chrome、Firefox)中添加 onreadystatechange。从我在互联网上找到的信息来看,它似乎可以在 IE 中工作,但这对我没有帮助。

我已经尝试过:

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

但似乎没有任何效果。

I have a HTML page that contains an <iframe>. The <iframe> is being refreshed on certain events (and I can see the contents of the <iframe> being changed, so as far all is ok).

What I want to do is add a onreadystatechange to the <iframe> so that I can display a "loading" text while the contents are being fetched.

I could not add the onreadystatechange in any browser (Safari, Chrome, Firefox). From what I found on the Internet it seems to work in IE, but this is no help for me.

I've tried:

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

but nothing seems to work.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别把无礼当个性 2024-12-02 06:20:05

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

我还在 JSFiddle 上创建了这个来向您展示结果。检查一下这里!!

<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>

So if you want to show a "The page is loading" message and hide this when the iframe has finished loading you can do something similar to the example below. Note that I used JQuery just to easen up this process. But obviously it can be done in 100% Javascript too.

I also created this on JSFiddle to show you the result. Check it 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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文