3

我在 CRM 2013 工作。业务需求是将仪表板作为子区域添加到站点地图。我添加了带有 html 网络资源的子区域,以将适当的仪表板放在 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 做出贡献,所以我没有足够的声誉来这样做。

4

1 回答 1

0

当它创建嵌套的 IFrame 时,
获取具有 id 的目标 iframe 的唯一方法dashboardIframe如下。

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

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

当我们在仪表板区域中插入 IFRAME 组件时,默认情况下会在 CRM 中创建 contentIFrame0。

于 2015-05-05T04:57:31.553 回答