【问题标题】:Dynamics365 list view: where is custom javascript located?Dynamics 365 列表视图:自定义 javascript 位于何处?
【发布时间】:2020-04-24 06:47:38
【问题描述】:

我需要从列表视图的自定义对话框中调用自定义 javascript。 在列表视图中,用户单击按钮(在功能区上)。按钮启动 javascript。自定义 javascript 创建带有一些选项的 div 对话框。每个选项都有 onclick javascript 操作。但是我的自定义 javascript 代码在哪里?

在类似的场景中,在表单视图中我可以找到这个 cusom javascript document.getElementById("customScriptsFrame").contentWindow.<my_func>()

但是列表视图中自定义 javascript 的类似位置在哪里?

【问题讨论】:

  • 我认为您正在使用一些名为 ESS.Dialog 的第三方库,您必须访问该支持站点或一些 GitHub 链接
  • 我终于找到了。 listview 中的自定义代码存储在 document.getElementById('contentIFrame0').contentWindow 中,因此 my_func() 可以调用为 document.getElementById('contentIFrame0').contentWindow.my_func();
  • 你可以发布你的答案并关闭它。

标签: javascript button dynamics-crm dynamics-365


【解决方案1】:

如果我理解你的问题,

您已经在网络资源中创建了 html div 对话框。

您是否已经设置了功能区按钮?和它背后的Javascript?

如果不是,这就是您所需要的。

XRMToolBox 中有一个名为Ribbon Workbench 的插件。使用它,您可以在列表视图中add new button

在该按钮命令上,您可以添加 Javascript 和将被调用的函数。

现在在您的 javascript 中,您可以调用您的 html 代码,也可以直接调用另一个网络资源。

【讨论】:

  • 不,功能区按钮上的自定义 javascript 效果很好。此 JS 代码(从功能区按钮调用)将创建提到的对话框并终止其运行。在这个创建的对话框中,我需要 onclick 调用 JS 函数。问题是我不知道在哪里可以找到这个函数。我试图将我的 JS 函数添加到“全局”Xrm 对象,但是这个 Xrm 可能在一些隐藏的 ifreame 上。我完全不知道在哪里。
  • 当您提到提到的对话框时,您是指来自 crm 的对话框(开箱即用)还是您使用 html 创建的对话框(自定义)?
  • JS 创建自定义(非标准)对话框。从技术角度来看,它是一个添加到 html 文档结构中的 div。在这个 div 中是表格,每一行都定义了 onclick。
  • 再次,当您将 div 添加到 html 时,我相信您用几行创建了这个自定义 HTML,完全是新的,而不是操纵 CRM HTML?比如创建 HTML webresource 并从你的 javascript 调用它?
  • JS (简体) ESS.Dialog = { openDialog: function (html, width, height) { var selectDiv = document.createElement('div'); selectDiv.innerHTML = " 点击运行我的javascript"; document.body.appendChild(selectDiv); }, myJavascript: function () { alert("我在哪里?"); // 删除 selectDiv } } 功能区按钮调用 ESS.Dialog.openDialog()。但是 ESS.DIalog.myJavascirpt() 在哪里?
【解决方案2】:

正确的问题是“listview 页面上的自定义 javascript 存储在哪里”。答案很简单:在名为“contentIFrame0”的 iframe 中。 所以,右键点击值为“document.getElementById('contentIFrame0').contentWindow.my_func();”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 2023-04-06
    相关资源
    最近更新 更多