【问题标题】:CRM 2011 Javascript is loaded but does not show in developer toolsCRM 2011 Javascript 已加载,但未显示在开发人员工具中
【发布时间】:2025-12-17 07:50:02
【问题描述】:

我在带有 IE10 的 Windows 8 上运行(今天晚些时候升级到 8.1 和 IE11),在为 Microsoft Dynamics CRM 2011 进行开发时,我的开发人员工具 (F12) 出现随机问题。有时,我的代码会在我需要的时候执行它到,但我无法调试它,因为相关的 javascript 没有出现在 F12 开发人员工具中。这是随机发生的,没有任何明显的原因。

要完全清楚问题是什么:我有一个 Weekkalender_main_library.js 文件,该文件已通过 CRM 开发工具包从 Visual Studio 2012 部署。 javascript 被添加到 Dynamics CRM 2011。它发布没有问题。我可以将事件处理程序添加到一个字段就好了。事件处理程序有效,但其中存在逻辑错误。但是当我按 F12 然后打开脚本选项卡时,Javascript 不会出现在文件下拉列表中。它显示默认情况下在 CRM 中的所有 javascript,经过一番搜索后,似乎 javascript 处于动态块中。

是什么原因造成的,我该如何防止它发生?

【问题讨论】:

  • 它就在那里,它只是在一个匿名块中。当您在功能区或事件中使用 JS 时,这就是它的加载方式。如果遇到问题,可以添加 debug 语句进入该块。

标签: javascript dynamics-crm-2011 internet-explorer-10


【解决方案1】:

在这种情况下,有几个问题可能会影响您。如果从功能区调用 javascript,那么它将被动态加载,您无法轻松调试。 (see this link for a great idea to be able to debug javascript from the ribbon * *免责声明**这篇博文是我的一个同事写的*)。

如果您有多个表单,则需要将 javascript 资源分别添加到您从中调用它的每个表单。

这也可能类似于this question

【讨论】:

  • 不是从功能区调用的。而且我已经检查了其他问题,并且我的 javascript 不是从 SVG 或 XML 调用的。它只是随机决定进入一个脚本块。而且我相当确定这是一个由某些东西触发的错误,因为它在我遇到错误前 5 分钟运行良好,就像在我的调试器中出现的 Javascript 文件一样。
【解决方案2】:

我发现了问题所在。

基本上,Dynamics CRM 2011 汇总 15 改变了脚本从单独文件加载到动态脚本块的方式。更改是为了改进 JS 事件处理程序的加载和执行顺序。

【讨论】:

  • 那么我现在在哪里可以找到我的自定义 JS 事件处理程序?!
  • @keerz 您现在可以通过在 FormScript.js.aspx 中找到事件处理程序、在处理程序中放置断点并触发事件来找到它们。
  • 我试过了,找到我的事件处理程序,设置断点,刷新表单并得到“源代码不适用于此位置”(IE)
  • 如果我在我的事件处理程序中放置一个“调试器”语句,IE 会中断,只允许我选择 VS。 VS 显示调用堆栈,但说没有可用的源。我读过this 但对我不起作用
  • 从 IE8 升级到 IE9。现在有一个“调试器”;我的表单 JS 中的声明,IE F12 在那里正确中断。说我的表单 JS 在“脚本块 (25)”...
【解决方案3】:

对于 Chrome,您可以将行 //# sourceUrl="filename" 添加到 JavaScript。然后它会在开发工具的源代码树中显示文件名。

【讨论】:

    最近更新 更多