Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,331,504
Community Members
 
Community Events
169
Community Groups

How to adjust width and height of iframe to fit with content in it in Confluence On-Demand

I'm developing a Dynamic content macro for Confluence Cloud that returns a dynamic HTML table.

Dynamic Content Macro documentation says "If the size of the macro output content size is dynamic, call AP.resize(w,h) immediately after the DOM of your iframe is loaded."

To retrieve width and height of the content, I found the following code on Internet:

var newheight = document.getElementById(id).contentWindow.document .body.scrollHeight; 
var newwidth = document.getElementById(id).contentWindow.document .body.scrollWidth;

But the frame id is generated dynamically and is not accessible through Context Parameter

So, how can I adjust i frame width and height to fit with content inside a dynamic content macro ?

Thanks

Xavier

1 answer

1 accepted

2 votes
Answer accepted

I believe that the simplest method is to just use AP.resize() from inside your iFrame. Like so my Sketchfab for Connect addon does.

Robert, Thanks. It works fine if I don't declare parameter height in atlassian-connect.json. I will ask Atlassian to describe AP.resize() API behavior when there is no parameter (https://developer.atlassian.com/static/connect/docs/latest/javascript/module-AP.html)

AP.resize('100%', 'calc(100vh - 160px)');

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Confluence

Collaboratory Video Series: Confluence Your Way

Hey there, collaborators! We're continuing on with Work and Wellness with a special video series focused on team connection and collaboration, wherever and whenever.  Introducing Confluence ...

151 views 2 10
Read article

Atlassian Community Events