繁体   English   中英

CRM Dynamics 2015 IFrame通信

[英]CRM Dynamics 2015 IFrame Communication

我有一个在对话框内部调用的Web资源。

看来,在CRM Dynamics的最新更新中,它们现在正在覆盖window.frames对象,我以前曾使用该对象获取所有iframe的列表。

这是控制台中frames对象的视图。

在此处输入图片说明

有谁知道我如何访问页面上的可用iframe?

以前可以工作的代码...

 var found = false;
 $.each(parent.window.frames, function (i, val) {
        if (!found) {
            if (parent.window.frames[i].Xrm.Page.data != null) {
                console.log("got here, page data not null");
                found = true;
            }
        }
    });

动态版本:7.0.2.53

您可以尝试使用以下代码获取所有IFrame控件:

var iframeControlArray = Xrm.Page.getControl(function (control, index) { 
    return control.getControlType() == "iframe"; 
});

然后访问IFrame DOM对象:

var iframeDomObject = iframeControlArray[0].getObject();
var iframeDocument = iframeDomObject.contentDocument  
        || iframeDomObject.contentWindow.document; 

而且,如果另一个域中的IFrame资源可以完全访问它,则最好使用window.postMessage()进行“跨域的IFrame通信”。 有关此的更多信息:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM