开发者

JavaScript - Is it possible to get height from div in separate page?

开发者 https://www.devze.com 2022-12-29 02:16 出处:网络
I\'m wondering, is it possib开发者_JS百科le to collect the height of a specific div container from a separate page with JavaScript? I\'m using jQuery btw and I\'m in need of comparing heights of div c

I'm wondering, is it possib开发者_JS百科le to collect the height of a specific div container from a separate page with JavaScript? I'm using jQuery btw and I'm in need of comparing heights of div containers.

Edit: To clarify a bit more, I load content from a specific div in a separate page using jQuery. This content is faded into a different container with dynamic height. But in the small fraction of time before the content arrives, it shrinks down to it's min-height.

What I've done so far is collecting the height of the container before and after the load. But it only works after I've loaded content once. Because I don't have the height before it's been loaded the first time.


If the relationship between the pages is opener and [popup|child] window, then yes.

If not, you are going to run into a security wall. (unrelated pages should not have access to each other)

So, if the "other" page is a popup window that your page launched, or a child iframe that your page "launched", then yes.

I would use the jQuery .height() method to obtain the height, but how you get the object is up to you (depends on what attribute info you have etc.)

//get from popup
var otherDiv = popupWinRef.document.getElementbyId('id');

//get from iframe
var otherDiv = window.frames[frameIdOrIndex].document.getElementById('id');

alert($(otherDiv).height());


Well, you can't get it until AFTER it's loaded via jQuery. Then you need to make sure you're not having a conflict between two divs with the same ID.


From your comments it sounds like you are using ajax to load content from another page, you'll likely have the load div hidden... So I would position the loading div absolutely out of the viewport but not hidden. then get the height of your desired div but make sure you access it using the loading div and your desired div... something like this:

#divToLoadContent { position: absolute; left: -99999em; top: 0; } /* don't hide this div */

Script

var height = $('#divToLoadContent #myDesiredDiv').height();
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号