2012-12-11 58 views
3

我試圖將其他應用程序可視化到我的salesforce頁面。問題在於包含其他應用程序的iframe的默認高度太短。 我正在尋找如何自動調整大小,但我沒有發現任何有用的東西。我做了一個解決方法,其中包括一個很大的高度,但這是一個非常糟糕的解決方案。如何在Apex中自動調整iframe的大小?

這裏是我的心尖代碼頁:

<apex:page controller="CaseManagmentWizard" showHeader="false" sidebar="true" > 

<apex:iframe height="3000px" src="{!callCenterAPI}api/start.php? 
apiKey={!apiKey}& 
username={!userIims}& 
idCliente={!selectedCustomerId}& 
urlOk={!callCenterURLOK}& 
urlError={!callCenterURLError} 
"></apex:iframe> 

</apex:page> 

如果我把高度= 「100%」 是不是沒事一樣!

Here's a print of how it's seen

回答

0

計算子頁面的高度和發送到家長設置的iframe頁面高度。

使用jQuery的以下示例代碼

給IFrame頁面一個ID。

在子頁面(IFrame中)編寫腳本使用

$(document).ready(function() { 
    window.parent.setFrameStylesFromParent(j$("body").height()); 
}) 

在父頁面編寫腳本設置框架頁面的高度來計算物體的高度。

function setFrameStylesFromParent(paramHeight){ 
    j$("#iFrameId").height(paramHeight); 
} 
+0

那是不可能的,因爲同源策略(http://en.wikipedia.org/wiki/Same_origin_policy) – user1895653

+0

有時工作,但有時不working.it拋出JavaScript錯誤說-'Uncaught類型錯誤:窗口。 parent.setFrameStylesFromParent不是一個函數' - 我的iframe只有sfdc調用內部頁面。 – unidha