2014-01-22 85 views
3

我正在CRM 2013中工作。業務需求是將儀表板作爲分區添加到站點地圖。我添加了一個添加html web資源的子區域,以將相應的儀表板放入IFrame中。CRM 2013意外嵌套iframe

當我嘗試在IFrame的子網格中打開一個活動記錄時,會出現該問題。 IFrame自己創建另一個IFrame(Iframe嵌套)。以下是我的HTML和問題的截圖。

<html> 
    <head> 
<meta charset="utf-8"> 
    </head> 
    <body> 
    <iframe name="dashboardIframe" title="Content Area" id="dashboardIframe" src="about:blank" style="border: 0px currentColor; left: 0px; width: 100%; height: 100%; right: 0px; overflow: hidden; visibility: visible;"></iframe> 
<script type="text/javascript"> 
    var openMyActivities = function() { 
    var serverUrl = document.domain; 
    var dashboardUrl = "https://" + serverUrl + "/dashboards/dashboard.aspx?dashboardId=%7b88dada11-007f-e311-940b-005056b72da0%7d&dashboardType=1030&pagemode=iframe"; 
    document.getElementById("dashboardIframe").src = dashboardUrl; 
}; 
    window.onload = setTimeout(openMyActivities, 10); 
</script> 
</body> 
</html> 

我想後的嵌套iframe問題的圖片,但因爲我是新來促進StackOverflow的,所以我沒有足夠的信譽來這樣做。

+0

可否請您嘗試使用'parent.document'而不是'document'?它應該不涉及IFrame本身,而是包含它的文檔。 – shytikov

回答

0

因爲它創建嵌套的IFrame,所以
唯一的方法來獲取ID爲dashboardIframe的目標iframe如下。

var mainFrame = window.top.document.getElementById('contentIFrame0').contentDocument.frames["dashboardFrame"]; 

var targetIframe = mainFrame.document.frames["dashboardIframe"]; 

凡在默認情況CRM當我們插入儀表板區域的IFRAME組件創建contentIFrame0。