我在CRM 2013中工作。业务要求是将仪表板添加为站点地图的子区域。我添加了一个带有html web-resource的子区域,将相应的仪表板放在IFrame中。
当我尝试在IFrame的子网格中打开一个活动记录时,会出现问题。 IFrame在其自身内创建另一个IFrame(Iframes嵌套)。下面是我的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 :(得分:0)
因为它创建了嵌套的IFrame,所以
获取ID为dashboardIframe
的目标iframe的唯一方法如下。
var mainFrame = window.top.document.getElementById('contentIFrame0').contentDocument.frames["dashboardFrame"];
var targetIframe = mainFrame.document.frames["dashboardIframe"];
当我们在仪表板区域中插入IFRAME组件时,默认情况下在CRM中创建contentIFrame0。