JQuery :: Iframe Get Content Height/width?
Mar 11, 2011i have a small question .... Lets say i have a html web page withthe folowing code inside:
[Code]...
i have a small question .... Lets say i have a html web page withthe folowing code inside:
[Code]...
I am currently using a popup window to establish the dimensions of a window, specifically based on the the width/height of the content area.
I would prefer to simply resize it and avoid the need for a popup altogether, but this is made difficult due to inconsistancies as to how resizeTo() accounts for whatever toolbars are 'on' which varies from browser to browser and platform to platform.
The site is coded to W3C (X/HTML, CSS) and the DOM/DHTML content is gradually being rewritten in accordance with the W3C DOM.).
The W3C DOM property to get/set the window content area dimensions are:
I'm having an issue getting the height and width of DIV elements that have resized themselves to fit their content.
Note: I do not have a problem getting the height and width of DIV elements that I have set using Javascript. The probel is that this value appears to stick. I.e. the height is set to 150px, then the content is changed and the DIV cosumes as much height as is required (clearly more than 150px), however analysing the DOM indicates that the height is the same (though it is clearly not).
I want to know how to get hold of the 'actual' size of a DIV element that is manipulated by the content of the DIV.
I am also interested in a solution that works in IE and Firefox (at least).
I'm using JQuery to write content into an otherwise empty iframe like so:
Code:
$('#ifrmID').contents.find('html').html(htmlContent);
The content is coming from an Ajax request. The content gets used more than once on the page for other purposes which is why I don't simply change the iframe src--I have to do an ajax request regardless so I'm trying to avoid multiple calls.
After I load the content, I need modify the height of the iframe so it fits snuggly around the content.
Calculating the height isn't a problem with the exception that it's not always correct and I think it's because the calculation is happening before images have downloaded.
I don't seem to be able to rely on a `load` or `ready` event to delay the calculation. The load event is the only one that tiggers on a change of iframe content, but it doesn't see the new content.
Code:
$('iframe').each(function () {
$(this).load(function () {
alert($(this).contents().find('html').html());
});
});
This will output '<html><body></body></html>' even though I have successfully inserted different content.
Any suggestions on what I'm doing wrong, or if it's possible to do what I want reliably?
Note that a general JS solution will be appreciated as much as a JQuery one.
Im making a website in which I want to "embed" another website (not mine) - implesignup.se - through which i've created an event. The problem is that I want to hide the footer of that page, maybe the header to if its possible, but since the height of the other page varies throughout the steps in the "buying-process" I can't set a fixed height...Is it possible to fix this problem using jquery and how do I do that?So, something like this is what i want: autoheight - x pixels from the top - x pixels from the bottom
View 4 Replies View Related<html>
<head>
<title>< /title>
</head>
<body>
<iframe name="j" id="j" src="ANOUNCEMENT.html" onload="this.style.height = j.document.body.scrollHeight + 12"></iframe>
</body>
</html>
Am I doing it right? I am trying it now but the j.document.body.scrollHeight seems doesn't work for me.
I load my website in iframe I have put Javascript for auto height, but in my iframe expendable / Collapsible bar is there when page load into javascript my bar is Collapsible so it takes auto height correct but when I expand my Collapsible bar my content is overlapping please give me the solution and I don't want scroll bar for iframe when content expand here is my page: [URL].
And here JavaScript which is I am using:
<script type="text/javascript">
function doIframe(){
o = document.getElementsByTagName('iframe');
for(i=0;i<o.length;i++){
if (/"autoHeight"/.test(o[i].className)){
setHeight(o[i]);
addEvent(o[i],'load', doIframe);
} .....
First time posting here. Have been enjoying all the resources available to us, very helpful. My problem:
Recently started learning css / java - i have a web page with an iframe on the index pages within a div tag, which then loads all other pages into this iframe. The thing is i require the iframe to adjust its height size according to the content loaded.
After lots of searching a have come across only one that worked for me,however it only seems to work in IE and not firefox and the like.
[Code]...
I'm making a wordpress theme that will have a SMF forum incorporated into one of the pages. I've decided to use an iframe that calls in the forum (which is in the same domain), after trying several of the auto height scripts, including ones I used before with success, I got nothing. I'm not sure if it's a wordpress thing, but the scripts I'm so familiar with just don't want to work. Since forums change their height with all the different pages, this is an essential script for me. The only script (a new one) that somewhat works is the following:
Code:
<script language="javascript" type="text/javascript">
function resizeIframe(obj) {
obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
obj.style.width = obj.contentWindow.document.body.scrollWidth + 'px';
}
</script>
Which eventually gets called with:
Code:
onload='javascript:resizeIframe(this);'
inside the iframe tag.
Now, this seemed to work just fine, but now the height of the page gets added the more I browse. If for example I go to a topic with a lot of replies (meaning, a long page height) and I browse back to the index page, that extra height isn't gone. You can see what I mean here: [URL]. I was wondering if there is something that can be done to this script to stop this and properly resize the iframe. The other script I've used was: [URL]. Which worked great as you can see here: [URL].
I loading my website in iframe i have put Javascript for auto height, but in my iframe expendable / Collapsible bar is there when page load into javascript my bar is Collapsible so it takes auto height correct but when i expand my Collapsible bar my content is overlappingnd i don't want scroll bar for iframe whencontent expand here is my page:and here JavaScript which is i am using:
<script type="text/javascript">
function doIframe(){
o = document.getElementsByTagName('iframe');
[code].....
Having a problem with iframe resizing when the iframe body is a jsp file which contains a dynamically built ajax table. Users select different options from a drop down. All but 1 is a standard static jsp file. The other is a jsp file with a dynamic ajax table which is generated the second the user select this option from the drop down. Problem is the javascript is not getting the correct height for the dynamically ajaxed jsp file.
Here is the iframe which is loading the contents file.
<iframe id="Editor" name="Editor" src="" scrolling="no" frameborder="0" allowtransparency="true" onLoad="resizeIframeToFitContent(this)"></iframe>
Resize call:
function resizeIframeToFitContent(iframe) {
iframe.height = Editor.document.body.scrollHeight + 300;
iframe.width = Editor.document.body.scrollWidth;
} // resizeIframeToFitContent
As a current workaround I am adding 300 manually to the height this works but throws the height of the normal jsp files well out and makes the page to tall.
I'm looking for a script to change the height of a iframe depending on the loaded content. I found some scripts who let it work when a webpage loads in the iframe.
But when the height of the page changes by javascript animations.
Like a box is getting 200px higher by a javascript action. The page won't reload by this action so the iframe height remains in it's current height.
Anyone has a good script that the iframe height even changed on javascript commands?
I have the following script resizeing my iframe based on height. The problem is if my site is on one domain say http://mydomain.company.com and the target page is on another domain say http://anotherdomain.mycompany.com the script does not resize the page. I cannot add anything to the pages i am linking to because they live in a CVS repository so i cannot call a function or passs information in that way.
is there any way to make my script work? I'm so fustrated, I'm so close! help!
<!--this script auto resizes the height of the iframe based on contents-->
<script type="text/javascript">
<!--
function resize_iframe(){
document.getElementById("_iframe").height=768 // required for mozilla/firefox bugs, value can be "", null, or integer
document.getElementById('_iframe').height=window.frames["_iframe"].document.body.scrollHeight
}
// -->
</script>
which uses the following iframe
<iframe width=96% id="_iframe" name="_iframe" src="intro.htm" scrolling="no" frameborder="no" ALLOWTRANSPARENCY="true" onload=resize_iframe();></iframe>
I'm looking for a good cross-domain iframe resizing script that adjusts its height based on its content. I have access to the html/css for the source of the iframe as well. Is there any out there?
View 8 Replies View RelatedI have a page on my website where I put an iframe and display inside it another website, something like this:
<iframe frameborder="0" height="100%" scrolling="yes" src="http://www.another-website.com/" style="overflow: scroll; min-height: 600px;" width="100%"></iframe>
My problem is that my page have a fixed width of for example 800px which the iframe width is 100% of this width, but some external websites I put inside the iframe have a wider fixed width than 600, for example if the external website have the width of 1000px then my iframe will have a horizontal scroll. I don't want the horizontal scroll to appear and at the same time I want the iframe to show the whole width of the external website. Is there a way that I can control the width of the external website and make it 100% of the width of my iframe instead of their fixed 1000px for example? I don't think I can but I thought I would ask anyways maybe it's possible!
I have a webpage with an IFrame in it. The content for the IFrame could change per page and with it size. I don't want scrollbar's inside the IFrame but rather for the whole page. To accomplish this I must resize the height of the IFrame (width = fixed). But I can't seem to accomplish this. The links within the Iframe load the new content but I have to access the parent document to be able to resize the IFrame height. How I can resize the iframe from within javascript in the IFrame.
View 10 Replies View RelatedI run a online gaming website, and I'm having problems with certain websites iframing our games.
Actually I'm ok with iframing, as long as they include the banner ad located just beneath our games. But often times unscrupulous webmasters will iframe only the game, preventing us from generating any revenue from the banner ad (and costing us additional bandwidth charges).
I'm hoping to find a way to detect the dimensions of the iframe, so that I may dynamically resize the game, in order to include the banner ad within the iframe. Does anybody know how to extract the "height" and "width" attribute values from an <iframe> tag sitting on a different site?
Currently for the height and width functions, this is the description:
View 3 Replies View RelatedI've ran into this problem more than once, there are plenty of tutorials on how to toggle/fade a hidden div that already has data placed into it, but I want to $.load() a page into an empty div ID and then toggle/fade it into view.
I can't for the life of me figure out how to do this or find anyone in Google trying to either. This has to be the first time I've ran into a limitation of jQuery and it isn't even something that should be such a problem.
I'm facing the following problem: I'm using .append() method to add a new <div> on the fly and I need to read its width and height right after it's been created. How can this be doneMy current strategy to accomplish this task is:
$("#container").append(
$("<div/>").append(
$("<p>").html("This is a content example that goes inside my just created div")
[code]....
I'm just starting my first jQuery project (tutorial from this months Web Designer) and I've got a background image that I want to spread across the entire background, regardless of browser size. It's big, so I originally had an onload function. This works fine in Mozilla and Safari but not in IE.
My question is, can jQuery set a width and height of 100% and have it work in IE?[code]...
I have x amount of draggable & resizable divs, they work as I want them to, I am outputting the coordinates of each div in a textfield. My problem is that the textfield only displays coordinates when a div is CLICKED, so when holding the mouseBtn and dragging a div around then releasing the mouseBtn the coordinates aren't displayed in the textfield. I tried to set 'mouseup' instead of 'click' but then the divs are being dragged around all the time even tho you released the mouseBtn. The second thing is that i want to output the size of the div in another textfield, so when a div is resized the new size of that div should be displayed in the textfield.
<script>
$('#resizeDiv, #resizeDiv2, ,#resizeDiv3')
.draggable()
.resizable({
minHeight: 150,
minWidth: 200
});
</script>
<script>
$("*", document.body).click(function (e) {
var offset = $(this).offset();
e.stopPropagation();
$("#result").text(this.id + " coords ( " + offset.left + ", " +
offset.top + " )");
});
</script>
For the size I tried to work with
function showWidth(ele, w) {
$("div").text("The width for the " + ele + " is " + w + "px.");
}
$('#test').click(function () {
showWidth("paragraph", $(this).width());
});
I want to send both size and x&y of each div to a database.
I have a strange issue with jQuery while using the following code :
$("#image").append('<img src="'+json.filename+'" id="cropje" alt="None" />');
$('#cropje').load(function() {
alert($(this).width());
}) .error(function(){
alert("FAIL TO LOAD IMAGE");
And the result is : 0 But it looks like the image gets loaded after the alert... How is that possible?
during the initial phase in the development of amuch more complex zomm&pan widget, i ended up with this tiny (yet another) zoom&pan plugin. Since it's small and with just few functionalities i'd call
[Code]...
I have always been using Prototype but I finally made the switch to jQuery because of its good documentation and large user base.
I have a problem that I hope someone can solve. The problem is that I cannot correctly set a size of my dialog when loading the content using Ajax.
I have the following code:
The content is loaded but the dialog is not sized properly. I guess that it depends on the content being changed after the dialog has been initialized. Is there a nice way to solve this problem?
I tried the following solution (not very good looking but anyway...)
This causes the size to be correct but it doesnt center the window and it also removes scrollbars from the content. I must have the scrollbars but I want the dialog not to exceed the viewport.
Another solution is to download and use YET ANOTHER third party plugin but hey comeon, shouldnt jQuery UI be able to do this?
control the page height and width using js/jquery? I have a page that is:
width: 980px
height: 2500px
I would like the page height to be set to around 900px with the viewable scrollbar and all other content not viewable underneath.