如何在Dynamics CRM中打开外部源作为对话框

时间:2017-08-21 15:03:28

标签: javascript dynamics-crm microsoft-dynamics dynamics-crm-2016

我想在Dynamics CRM中使用javascript函数打开对话框,对于我使用的内部资源:

function openModalForm(url) {

    var DialogOption = new Xrm.DialogOptions();
    DialogOption.width = 500;
    DialogOption.height = 260;
    Xrm.Internal.openDialog(url, DialogOption, null, null);

}

现在我需要打开外部网址,例如:url = 'http://www.yahoo.com/'

如何在Dynamics中打开外部源作为对话框?任何想法?

2 个答案:

答案 0 :(得分:1)

基本上,您正在寻找一种打开浏览器窗口作为模式弹出窗口的常用方法。现代浏览器不再支持此功能,只能通过一些技巧/库/变通方法来实现(例如,请参阅this post on SO。)

就我个人而言,我放弃了这一点并接受sequence只是打开Windows无模式。一种更好的技术是模态CSS对话框,它在现代Web开发中将是首选方式。但是,在Dynamics CRM中,自定义CSS对话框需要摆弄DOM,这不是受支持的自定义。

答案 1 :(得分:0)

您可以将IFRAME嵌入到名为new_iframecontainer的CRM表单中。

然后在加载表单时,您可以使用Xrm函数setSrc,如下所示:

Xrm.Page.getControl("new_iframecontainer").setSrc("www.yahoo.com");

另一种解决方案是使用openWebResource将编码的URL传递给HTML Web资源。然后在HTML Web资源中,重定向到传递的URL。 This blog post涵盖了如何实现这种方法。