最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

JavaScript Show loading gif while Iframe loads - Stack Overflow

programmeradmin2浏览0评论

I need a loading GIF to show up while the iframe is loading.
This is what I came up with:

<div id="m-load" style="position:relative;top:45%;left:45%;">
<img src="images/loader.gif"/></div>
<iframe src=".html" id="m-iframe"></iframe>

And in the iframe source file I entered:(myfile.html)

<head>
<script>
top.document.getElementById('m-load').style.display ="none";
</script>
</head>

But this won't work in Firefox (permission denied).
Any other way of achieving this?

I need a loading GIF to show up while the iframe is loading.
This is what I came up with:

<div id="m-load" style="position:relative;top:45%;left:45%;">
<img src="images/loader.gif"/></div>
<iframe src="http://myserver./myfile.html" id="m-iframe"></iframe>

And in the iframe source file I entered:(myfile.html)

<head>
<script>
top.document.getElementById('m-load').style.display ="none";
</script>
</head>

But this won't work in Firefox (permission denied).
Any other way of achieving this?

Share Improve this question edited Jun 11, 2012 at 12:03 funerr asked Jun 11, 2012 at 11:51 funerrfunerr 8,17617 gold badges90 silver badges139 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 6

You need to do it on the same page using onload event which fires after all iframes are loaded like this:

// show loading image

window.onload = function(){
  // hide loading image
}

<img id="img" src="images/loader.gif"/></div>

<script>
window.onload = function(){
   document.getElementById('img').style.display = "none";
}
</script>

iframes are not allowed to just access parent content willy-nilly. Suppose a hacker finds a vulnerability in your page (say, you have a ment form that allows iframes for whatever purpose. If they can just access the parent, they get to walk all over your site.

You could use instead postMessage. Because both the page and the iframe now agree on how to municate, and what constitutes valid munication, you don't have arbitrary access to your page. There's a good tutorial at http://robertnyman./2010/03/18/postmessage-in-html5-to-send-messages-between-windows-and-iframes/

发布评论

评论列表(0)

  1. 暂无评论