如何让我的客户门户自动调整其组件的大小?

时间:2012-06-05 14:06:03

标签: salesforce apex-code visualforce

我有一些标题为Custom_News,Custom_Articles和CUstom_Cases的HTML主页自定义组件。

以下是他们的HTML:

<iframe src="/apex/NewsPage?id=a1TW0000000EJAL" frameborder="0" width="100%"></iframe>&nbsp;

<iframe src="/apex/Custom_Home" frameborder="0" width="100%"></iframe>&nbsp;

<iframe src="/apex/CasesPage" width="100%" frameborder="0"></iframe>&nbsp;

这就是我的客户门户主页布局:

enter image description here

这就是我登录客户门户时自定义组件的样子:

enter image description here

如何摆脱滚动条?我希望客户门户自动调整到组件的大小,这样任何组件都不会有滚动条。我该怎么做?

2 个答案:

答案 0 :(得分:2)

您可以尝试使用JavaScript动态修改iframe的高度。这个answer解释了如何实现这一目标。

以下是使用JavaScript provided的示例:

<script language="JavaScript">
<!--
function autoResize(id){
    var newheight;
    var newwidth;

    if(document.getElementById(id)){
        newheight = document.getElementById(id).contentWindow.document.body.scrollHeight;
        newwidth = document.getElementById(id).contentWindow.document.body.scrollWidth;
    }

    document.getElementById(id).height = (newheight) + "px";
    document.getElementById(id).width = (newwidth) + "px";
}
//-->
</script>

<iframe src="/apex/NewsPage?id=a1TW0000000EJAL" frameborder="0" width="100%" onLoad="autoResize('iframe1');"></iframe>&nbsp;

<iframe src="/apex/Custom_Home" frameborder="0" width="100%" onLoad="autoResize('iframe1');"></iframe>&nbsp;

<iframe src="/apex/CasesPage" width="100%" frameborder="0" onLoad="autoResize('iframe1');"></iframe>&nbsp;

答案 1 :(得分:0)

这就是我最终做的事情:

<script language="JavaScript">
    function resizeIframe(newHeight, id){    
        document.getElementById(id).style.height = parseInt(newHeight,10) + 'px';
}
</script>
<iframe id="iframe2" src="/apex/NewsPage?id=a1TW0000000EJAL" frameborder="0"  ="" onload="parent.resizeIframe(1.5*document.body.clientHeight,'iframe2');"  height="100%" width="100%"></iframe>