Skip to Main Content

APEX

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Resize an iFrame generated on-the-fly inside an APEX classic report

Ssrini-OracleJun 25 2012 — edited Jun 30 2012
I have a classic report generated by Oracle Apex 4.0. I have customized it to have a hyperlink on each record, which when clicked opens a detail report in an iframe right under the current record. This, I am doing by using the Javascript insertRow method on the html table element (Condensed Javascript code below)
 var pTable= html_CascadeUpTill(t,'TABLE');
        var myNewRow = pTable.insertRow(pTR.rowIndex+1);
    var myNewCell = myNewRow.insertCell(0);
            myNewCell.innerHTML = '<iframe src="detail report url" height="0"></iframe>';
In order to resize the height of the iFrame that is different for different detail records, I have the following code in the "Execute when Page Loads" section of the report
 $('iframe').load(function()
            {
                setTimeout(iResize, 1000);
            }
function iResize()
        {
            // Iterate through all iframes in the page.
            for (var i = 0, j = iFrames.length; i < j; i++)
            {
var y=(iFrames.contentWindow || iFrames[i].contentDocument);
if (y.document)y=y.document;
var docHt = getDocHeight(y);
if (docHt) iFrames[i].height = docHt + "px";
}
}
);

Without the setTimeout call to iResize function, the iframe resize is not happening. But this setTimeout is adding a delay in the resized iframe to appear which I want to avoid. Is there a way to do this? All the related posts/articles I have seen online deal with iframes that are built into the page but not generated on-the-fly as in my case.

Let me know if you need more information. Please help. Thank you.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jul 28 2012
Added on Jun 25 2012
3 comments
848 views