【问题标题】:How to open external source as dialog in Dynamics CRM如何在 Dynamics CRM 中将外部源作为对话框打开
【发布时间】:2017-08-22 15:44:35
【问题描述】:

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

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 中将外部源作为对话框打开?有什么想法吗?

【问题讨论】:

  • window.showModalDialog 适合你吗?

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    您可以将 IFRAME 嵌入到您的 CRM 表单中,例如 new_iframecontainer

    然后在加载表单时,您可以像这样使用Xrm 函数setSrc

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

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

    【讨论】:

    • 谢谢!问题在于两种解决方案都不像对话框,它就像页面或新窗口中的 iframe
    猜你喜欢
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-18
    • 1970-01-01
    • 2014-08-15
    • 2011-07-12
    相关资源
    最近更新 更多