我有一个由Oracle Apex(针对Oracle数据库操作的UI工具)生成的报告。我已经对它进行了自定义,每个记录上都有一个超链接,点击后会在当前记录下的iframe右侧打开详细报告。此,我通过使用JavaScript的insertRow方法的HTML表格元素做(下面冷凝Javascript代码。甲骨文APEX允许使用JS/Jquery的的)调整动态生成的iframe的大小
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>';
为了调整大小是不同的iFrame的高度针对不同的详细记录,我在文档中的页面
$('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[i].contentWindow || iFrames[i].contentDocument);
if (y.document)y=y.document;
var docHt = getDocHeight(y);
if (docHt) iFrames[i].height = docHt + "px";
}
}
);
没有setTimeout调用到iResize功能下面的代码)。就绪(函数(),在iframe调整大小没有发生。但是,这是的setTimeout加入我想避免出现重新调整大小的iframe中的延迟。有没有办法做到这一点?所有相关的帖子/文章我见过onlin e处理内置在页面中的iframe,但不像我的情况那样生成。
让我知道你是否需要更多信息。请帮忙。谢谢。
谢谢@Tony。我试过了,但没有奏效。它实际上阻止了细节记录被渲染。 – JavaDev