我一直在使用 openStdDlg
方法在 Dynamics CRM 中打开查找 View 。问题是,当用户在查找中选择一条记录并按“确定”时,此方法在 Chrome 中返回 null,但在 IE 中正常工作。我有 Dynamics CRM 2016 本地 v8.1.0.359。
return openStdDlg(oUrl, wndArgs, width, height, true);
有什么技巧/想法可以解决这个问题吗?
最佳答案
如果您深入研究openStdDlg
函数,您可能会发现它利用了showModalDialog
(不确定它确实如此),即removed from Chrome a while back .
另一种不受支持但仍有效的方法是 Mscrm.CrmDialog
。所以你可以尝试这样的事情:
var dialogWidth = 500;
var dialogHeight = 500;
//replace with your lookup dialog URL
var lookupDialogUrl = Xrm.Page.context.getClientUrl() + "/_controls/lookup/lookupinfo.aspx?AllowFilterOff=0&...";
var callbackRef = function(r){alert(r)};
//instantiate dialog
var dialogWindow = new window.top.Mscrm.CrmDialog(Mscrm.CrmUri.create(lookupDialogUrl), window, dialogWidth, dialogHeight);
//set callback to execute when selection is made and dialog closes
dialogWindow.setCallbackReference(callbackRef);
dialogWindow.show();
上面将启动一个查找对话框(一旦您填写了查找路径的其余部分),然后在回调中您可以使用查找对话框中的结果来满足您的需要。
关于javascript - openStdDlg 在 Chrome 中返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41938706/