Javascript 从MS Dynamics CRM中的html webresource窗口传递数据

Javascript 从MS Dynamics CRM中的html webresource窗口传递数据,javascript,dynamics-crm,crm,dynamics-crm-online,webresource,Javascript,Dynamics Crm,Crm,Dynamics Crm Online,Webresource,我需要将数据(字符串数组)从HTMLWebResource窗口传递到表单。请注意,窗口表示窗口(它不嵌入CRM表单,不是对话框,而是从表单打开的窗口)。我使用了Xrm.Utility.openWebResource。我需要影响表单上的字段或调用表单上的js函数。感谢您的帮助 注意,“onunload”被Chrome忽略了试试这样。通过window.opener从父级中的子级调用函数是可行的。您还需要Json库来序列化/反序列化,以便可以在窗口之间发送对象 在CRM父窗口中: function o

我需要将数据(字符串数组)从HTMLWebResource窗口传递到表单。请注意,窗口表示窗口(它不嵌入CRM表单,不是对话框,而是从表单打开的窗口)。我使用了Xrm.Utility.openWebResource。我需要影响表单上的字段或调用表单上的js函数。感谢您的帮助


注意,“onunload”被Chrome忽略了

试试这样。通过
window.opener
从父级中的子级调用函数是可行的。您还需要Json库来序列化/反序列化,以便可以在窗口之间发送对象

在CRM父窗口中:

function openWebResource() {   
    var popupWindow = Xrm.Utility.openWebResource(...);
}

function callFunction(myObjects) {
    var entity = JSON.parse(myObjects);

    if (entity) {
           var value = new Array();
           value[0] = new Object();
           value[0].id = entity.Id;
           value[0].Name = entity.Name;

       // do your logic here
    }
}
在弹出窗口(web资源)中:

function callParent() {
    var entity = {};
    entity.Id = 1;
    entity.Name = “test”;

    var arr = JSON.stringify(entity);
    window.opener.callFunction(arr);
}