Dynamics CRM - 如何在 Javascript Web 资源中使用 JQuery
Dynamics CRM - How to use JQuery in a Javascript Web ressource
我有一个在 ribbon 命令中启动以执行操作的脚本,但它是用简单的 javascript 编写的。因为我想改进它,所以我想改用 JQuery 。该脚本位于解决方案中上传的解决方案中,我应该在解决方案中添加 jquery 文件吗?我该如何使用它?
您应该可以像这样访问 jQuery:
$ = ($ || parent.$);
将 JQuery 库添加到 CRM
您可以从http://jquery.com/下载JQuery的最新版本。
- 下载 JQuery 后,您需要将其作为 JScript Web 资源添加到 CRM。
- 通过转到“设置”>“自定义”>“自定义系统”打开您的解决方案或默认解决方案。
输入名称并Select类型:Script (JScript)。我还建议在描述中输入 JQuery 文件名,以便您了解安装的版本。
单击“浏览”并 Select 您刚刚下载的 JQuery 文件。
保存并发布新的 Web 资源。
- 您现在可以将 JQuery 库添加到您的表单中,以便您可以从其他 Web 资源中使用它。
到目前为止所有答案都是正确的,但我想补充一下。
对于初学者来说,我们可能会在此处触及一些不受支持的自定义,但这不是问题所在。
如果您是 运行 视图上下文中的脚本,则不能直接添加 jquery。完成此操作的唯一方法是通过原始脚本将文件作为对象从资源 url 加载,并将其附加到页面的头部。然后有一个等待执行剩余脚本的加载。这显然超出了应有的范围,我建议不要这样做。在这种情况下,您最好完全放弃 jquery。
最后,如果您 运行 它在表单的上下文中(在表单上),您可以将 jquery 作为普通脚本添加到实体的表单中。根据您使用的表单渲染引擎,您可能需要按照 Alex 的建议进行操作并设置 $ = $ || parent.$;
。如果使用新版本中引入的新涡轮形式,您将必须这样做。除此之外,从功能区使用它应该没有任何问题。
将 JQuery 添加到您的解决方案会将其添加为资源。仅凭这一点就无法让您随心所欲地执行它。
当您想在功能区命令中使用 jQuery 时,要 100% 确定 jQuery 可用,您应该添加 一个额外的 自定义操作在你的 RibbonCommand 中发生 before 你的实际自定义操作,其中定义了你的 javascript。
在此自定义操作中,您在 jQuery 网络资源(您还需要包含该资源)上调用函数 isNaN。
假设您正在使用功能区 Workbench(如果您不使用功能区,您可能应该这样做 :-)),它看起来像这样:
使用此方法,无论您使用何种上下文(表单、网格、子网格),您都可以确保 jQuery 可用。
如果不是真的这样加,需要依赖$ || parent.$,它在 99% 的情况下都有效,但不保证有效。 @Domenico 提到的解决方案将起作用,但只有当按钮显示在表单 和 上时,才会在自定义代码之前加载 jQuery 库。
我有一个在 ribbon 命令中启动以执行操作的脚本,但它是用简单的 javascript 编写的。因为我想改进它,所以我想改用 JQuery 。该脚本位于解决方案中上传的解决方案中,我应该在解决方案中添加 jquery 文件吗?我该如何使用它?
您应该可以像这样访问 jQuery:
$ = ($ || parent.$);
将 JQuery 库添加到 CRM
您可以从http://jquery.com/下载JQuery的最新版本。
- 下载 JQuery 后,您需要将其作为 JScript Web 资源添加到 CRM。
- 通过转到“设置”>“自定义”>“自定义系统”打开您的解决方案或默认解决方案。
输入名称并Select类型:Script (JScript)。我还建议在描述中输入 JQuery 文件名,以便您了解安装的版本。
单击“浏览”并 Select 您刚刚下载的 JQuery 文件。
保存并发布新的 Web 资源。
- 您现在可以将 JQuery 库添加到您的表单中,以便您可以从其他 Web 资源中使用它。
到目前为止所有答案都是正确的,但我想补充一下。
对于初学者来说,我们可能会在此处触及一些不受支持的自定义,但这不是问题所在。
如果您是 运行 视图上下文中的脚本,则不能直接添加 jquery。完成此操作的唯一方法是通过原始脚本将文件作为对象从资源 url 加载,并将其附加到页面的头部。然后有一个等待执行剩余脚本的加载。这显然超出了应有的范围,我建议不要这样做。在这种情况下,您最好完全放弃 jquery。
最后,如果您 运行 它在表单的上下文中(在表单上),您可以将 jquery 作为普通脚本添加到实体的表单中。根据您使用的表单渲染引擎,您可能需要按照 Alex 的建议进行操作并设置 $ = $ || parent.$;
。如果使用新版本中引入的新涡轮形式,您将必须这样做。除此之外,从功能区使用它应该没有任何问题。
将 JQuery 添加到您的解决方案会将其添加为资源。仅凭这一点就无法让您随心所欲地执行它。
当您想在功能区命令中使用 jQuery 时,要 100% 确定 jQuery 可用,您应该添加 一个额外的 自定义操作在你的 RibbonCommand 中发生 before 你的实际自定义操作,其中定义了你的 javascript。
在此自定义操作中,您在 jQuery 网络资源(您还需要包含该资源)上调用函数 isNaN。
假设您正在使用功能区 Workbench(如果您不使用功能区,您可能应该这样做 :-)),它看起来像这样:
使用此方法,无论您使用何种上下文(表单、网格、子网格),您都可以确保 jQuery 可用。
如果不是真的这样加,需要依赖$ || parent.$,它在 99% 的情况下都有效,但不保证有效。 @Domenico 提到的解决方案将起作用,但只有当按钮显示在表单 和 上时,才会在自定义代码之前加载 jQuery 库。