Google App Script Debugger无法处理ClickHandler回调

时间:2011-06-30 15:51:18

标签: debugging google-apps-script

我已经按照Google应用脚本教程here进行了操作,这是一个非常简单的脚本,有两个功能。 showDialog(显示带有文本字段和提交按钮的对话框)和respondToSubmit(e)处理提交按钮,并将输入的数据添加到电子表格中。 它工作正常。

似乎不起作用的是回调调试器。所以我在两个功能中放置一个断点并启动showDialog函数。调试器启动并在断点处停止执行。我单击继续,以便我可以与新打开的对话框进行交互。但是,当我单击提交按钮时,调试器不会再次启动。执行respondtoSubmit(e)功能。调试器不会在断点上停止。

调试这样的回调是否有问题,或者你一次只能调试一个函数吗?

4 个答案:

答案 0 :(得分:1)

截至目前,调试器有一些意想不到的行为。大多数情况下,它似乎只在脚本编辑器调用期间尊重断点,因此要调试事件处理程序,必须从调试器而不是UI调用它。例如,如果需要查看传递给函数的事件对象等变量,请尝试将此行添加到通常放置断点的处理程序中: Logger.log(Utilities.jsonStringify(e)); 然后在执行后从脚本编辑器中查看日志。

答案 1 :(得分:0)

在我看来,除非从脚本编辑器运行,否则Logger也不起作用。我确实管理了Browser.msgbox(Utilities.jsonStringify(e))带来了(预期)结果:

{"parameter":{"clientY":"45","clientX":"37","eventType":"click","ctrl":"false","meta":"false","source":"u12053277590","button":"1","alt":"false","myTextBox":"babi","screenY":"381","screenX":"598","shift":"false","y":"13","x":"33"}}

答案 2 :(得分:0)

供参考Utilities.json不推荐使用Stringify(e),而是使用JSON.stringify()和JSON.parse()。

答案 3 :(得分:0)