【问题标题】:Pass data from html webresource window in MS Dynamics CRM从 MS Dynamics CRM 中的 html webresource 窗口传递数据
【发布时间】:2018-06-06 09:59:31
【问题描述】:
我需要将数据(字符串数组)从 html webresource 窗口传递到表单。请注意,window 表示 window(它不嵌入在 CRM 表单中,不是对话框,它是从表单打开的窗口)。我使用了 Xrm.Utility.openWebResource。我需要影响表单上的字段或调用表单上的 js 函数。任何帮助表示赞赏。
附: Chrome 会忽略“onunload”
【问题讨论】:
标签:
javascript
dynamics-crm
crm
dynamics-crm-online
webresource
【解决方案1】:
试试这样的。通过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
}
}
在弹出窗口中(网络资源):
function callParent() {
var entity = {};
entity.Id = 1;
entity.Name = “test”;
var arr = JSON.stringify(entity);
window.opener.callFunction(arr);
}