【问题标题】:CRM 2013 Unintended Nested IframesCRM 2013 意外嵌套 iframe
【发布时间】:2014-02-13 04:25:47
【问题描述】:

我在 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 贡献的新手,所以我没有足够的声誉来这样做。

【问题讨论】:

  • 您能否尝试使用parent.document 而不是仅使用document?它不应该引用 IFrame 本身,而是包含它的文档。

标签: html iframe dynamics-crm dynamics-crm-2013


【解决方案1】:

在创建嵌套 IFrame 时,
获取 ID 为 dashboardIframe 的目标 iframe 的唯一方法如下。

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    • 1970-01-01
    相关资源
    最近更新 更多