我需要将数据(字符串数组)从html webresource窗口传递到表单。请注意,窗口表示窗口(它是 NOT 嵌入在CRM表单中,是 NOT 一个对话框,它是从窗体打开的窗口)。我使用了Xrm.Utility.openWebResource。我需要影响表单上的字段或在表单上调用js函数。任何帮助表示赞赏。
P.S。 Chrome会忽略“onunload”
答案 0 :(得分:0)
尝试这样的事情。从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);
}