在带有Google Apps脚本的Chrome中调试时遇到问题

时间:2019-02-01 01:43:12

标签: javascript google-chrome debugging google-apps-script

我正在尝试在Chrome中调试JavaScript代码。我正在使用Google Apps脚本。在我的JavaScript代码(肯定正在运行)中,我放置了debugging;行,因为我不能简单地在“源代码”面板中找到我的代码并在行上放置一个断点。

我在“源代码”面板中只能找到的唯一代码文件基本上是“垃圾”机器样式代码。我找不到我应用程序的文件,这就是为什么我在实际源代码中尝试了debugger;行的原因。看来程序确实在我有debugger;行的时间点停止了运行,但这仅在Chrome调试器中通过暂停来表示,我实际上无法查看被击中的代码。 (它应该跳到已停止的代码)而是始终显示一些“ userCodeAppPanel”,它只是机器样式的代码...

我发现,如果不仅仅使用console.logs,几乎不可能进行调试,这对于有效的调试来说是远远不够的。

1 个答案:

答案 0 :(得分:0)

Caja 将 JavaScript 更改为不可读的格式。 Chrome 可以调试它甚至单步执行它,只是无法正确呈现。

所以要调试你的脚本,你需要让它完整地通过 Caja。一种方法是将脚本更改为字符串并将该字符串推送到您的应用程序中。然后,一旦您通过 Caja 并在您的应用程序中,将字符串转换为实时 html,例如通过 jquery .html() 命令。这样你的脚本就不会被 Caja 消毒,Chrome 可以正常显示它。

问题仍然存在,为什么有时 Chrome 开发工具会正确显示原始 JavaScript。我认为这是 Caja 的一些故障保护或故障案例。