Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 555
  • Last Modified:

Iframe resizing problem in Firefox X

Hi experts,

I am building a web site that uses Iframes. In IE, there is no problems resizing the iframe by using a javascript triggered by a "body onload" call function.

The problem is, in firefox - nada ! it's just not working and I can't figure how to adapt the code in order to make it work !

Here is what I have in my head portion of the page that goes in the iFrame.

<script type="text/javascript">
function resizeIframe() {

      // Must launched on the body onload event handler for IE
      // Use document.documentElement if you are in Compat mode
      i = parent.document.getElementById(window.name)
      iHeight = document.body.scrollHeight
      i.style.height = iHeight + 5 + "px"
}
</script>

This is my trigger

<body onLoad="redim()">

And this is my iframe

<iframe src="myform.asp" id="MainBody" name="MainBody" style="overflow-x:hidden;width:492px;height:auto;" frameborder=0 allowtransparency="true" scrolling="no"> </iframe>

Any suggestion ?
0
SirTKC
Asked:
SirTKC
  • 4
  • 3
1 Solution
 
sh0eCommented:
That code doesn't appear as if it would work in any browser.
Why are you referring to the parent in the parent page?
That script should be inside the iframe.

The below code is the closest I could get to what it seems you want.
test.html is the parent
testt.html is the iframe
--test.html--
<script type="text/javascript">
function resizeIframe(name) {
 
      // Must launched on the body onload event handler for IE
      // Use document.documentElement if you are in Compat mode
      i = parent.document.getElementById(name)
      iHeight = i.document.body ? i.Document.body.scrollHeight : i.contentDocument.body.scrollHeight
	  alert(iHeight);
      i.style.height = iHeight + 5 + "px"
	  
}
</script>
 
This is my trigger
 
<body onLoad="">
 
And this is my iframe
 
<iframe src="testt.html" id="MainBody" name="MainBody" style="overflow-x:hidden;width:492px;height:500;" frameborder=0 allowtransparency="true" scrolling="no"> </iframe>
 
Any suggestion ?
 
--testt.html--
<body onload="parent.resizeIframe(window.name);">
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
</body>

Open in new window

0
 
sh0eCommented:
Sorry, copy/pasted the wrong files above.  Been doing that a lot lately.
---test.html---
<script type="text/javascript">
function resizeIframe(name) {
      // Must launched on the body onload event handler for IE
      // Use document.documentElement if you are in Compat mode
      i = parent.document.getElementById(name)
      iHeight = i.document ? i.Document.body.scrollHeight : i.contentDocument.body.scrollHeight
      alert(iHeight)
      i.style.height = iHeight + 5 + "px"
}
</script>
This is my trigger
 
<body onLoad="">
 
And this is my iframe
<iframe src="testt.html" id="MainBody" name="MainBody" style="overflow-x:hidden;width:492px;height:500;" frameborder=0 allowtransparency="true" scrolling="no"> </iframe>
 
Any suggestion ?
 
---testt.html---
<body onload="parent.resizeIframe(window.name);">
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
Any suggestion ?<br>
</body>

Open in new window

0
 
SirTKCAuthor Commented:
Hi sh0e,

It works well just like before in IE.
I like the alert that returns the iFrame height in this JavaScript.
But what's curious is that I get "883" (certainly pixels) in IE and only "19" in Firefox !?

You see, resizing is not working... :-/

I have read on certain forums that dynamic content such as ASP or PHP seem to be very problematic with this approach. Also, it as to be a content that is located on the same domain (which is is this case). Do you think it has anything to do with it ?

Thanks for your help on this one.
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
sh0eCommented:
What version of firefox are you using?  I tested the code on FF 3.0.3, WebKit, IE6.
0
 
SirTKCAuthor Commented:
I do have Firefox 3.0.3 But like I said, the content of the Iframe is an ASP form approx. 1500 px height.
0
 
sh0eCommented:
Does my sample code (verbatim) render properly on your browsers?  It should work under FF 3.0.3.
I may need to see more of your code, or a demo site preferably, to help you.
0
 
SirTKCAuthor Commented:
Hi sh0e

Yes your piece of code is working just fine. Matter of fact, I am using it now on all our website. The credit is yours !

In order to get it work smooth and easy, I had to remove this "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">" from all pages who's displayed in the iFrame

And boom voila !!

Points are yours !
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now