openStdDlg 在 Chrome 中返回 null
openStdDlg returning null in Chrome
我一直在使用 openStdDlg
方法在 Dynamics CRM 中打开查找视图。问题是当用户在查找中选择一条记录并按确定但在 IE 中正常工作时,此方法 returns 在 Chrome 中为空。我有 Dynamics CRM 2016 On-premise 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();
以上将启动一个查找对话框(一旦您填写了查找路径的其余部分),然后在您的回调中,您可以根据需要使用查找对话框的结果。
我一直在使用 openStdDlg
方法在 Dynamics CRM 中打开查找视图。问题是当用户在查找中选择一条记录并按确定但在 IE 中正常工作时,此方法 returns 在 Chrome 中为空。我有 Dynamics CRM 2016 On-premise 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();
以上将启动一个查找对话框(一旦您填写了查找路径的其余部分),然后在您的回调中,您可以根据需要使用查找对话框的结果。