【问题标题】:CRM 2011 Report in IFRAME not accessible through javascriptIFRAME 中的 CRM 2011 报告无法通过 javascript 访问
【发布时间】:2017-10-10 14:14:32
【问题描述】:

当报表显示在 CRM 表单的 IFRAME 中时,是否可以使用 java 脚本访问报表数据和参数。

虽然 iframe 是可访问的,如果它包含 html,那么 html 将是可访问的,但它是否允许访问 iframe 中的报告?

谢谢

【问题讨论】:

  • 向我们展示你的努力。
  • 嗨 Arun,我尝试使用它的 id 访问报告的组件,甚至尝试使用 id 访问 div,但它返回 null 而我到处都可以使用 ID 访问 html 组件。所以,我问了同样的问题,即使用 getElementById 在 html 中工作,它是否在报告中工作或报告显示在 iframe 中的单独 url 中,因此无法访问?这是我的问题。谢谢。

标签: reporting-services dynamics-crm dynamics-crm-2011


【解决方案1】:

是的,您可以在下面的 iframe 中访问报告,这是我们的做法。我们有 CRM 2013 本地设置。

我们使用自定义 JavaScript 代码在 iframe 内 CRM Dashboard 内的报告上隐藏报告功能区。

  1. 在 CRM Dashboardform 上,您有想要通过 JavaScript 访问的报告,添加一个 html 网络资源,该资源将包含以下代码。

    function onBodyLoad(){
    var contentIFrame0= window.top.document.getElementById('contentIFrame0')
    if(contentIFrame0)
     {
         var dashboardFrame=contentIFrame0.contentDocument.frames["dashboardFrame"];
         if (dashboardFrame!= undefined) {
             var elem = mainFrame.document.frames["yourReportIframe"];
             if (elem != undefined && elem.document.getElementById("compatibilityNotification")!=undefined) {
                elem.document.getElementById("compatibilityNotification").style.display = "none";;
                elem.document.getElementById("crmMenuBar").style.display = "none";
              }
         else {
             setTimeout(onBodyLoad, 3000);
         }
     }
    }
    

请注意,上面的代码 sn-p 是专门针对CRM Dashboards 的,您应该根据您对 CRM 表单的具体需求进行更改。

【讨论】:

    猜你喜欢
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-16
    • 2011-09-17
    • 2011-12-12
    • 1970-01-01
    相关资源
    最近更新 更多