我正在使用Google Docs Add-On开发人员迈出第一步,我无法调试代码 .
我在“脚本编辑器”窗口中设置了一个断点,但是当我在Google Docs中测试加载项时,它不会在断点处停止 .
这是我试图打破的代码:
$(function() {
$('#checkDoc').click(performCheck);
});
我知道代码已执行,但调试器不会停在那里 .
我错过了什么?
谢谢!
EDIT
看起来我应该选择一个在脚本编辑器中运行的函数,然后我可以调试它 . 但是,我仍然找不到将调试器链接到UI的方法,这意味着 - 我想单击Add-On中的按钮,并使调试器停止 .
怎么办?
2 回答
您需要使用Chrome开发者控制台来调试JavaScript . 在控制台中,确保选择包含插件的框架 .
使用console.log,因为我不确定你是否可以在iframed脚本中设置断点 .
Google Apps脚本调试程序仅支持服务器端GS文件的逐步调试 . 可以使用基于浏览器的开发工具调试客户端JavaScript .
但是,由于客户端和服务器代码之间的通信的异步性质,当
console.log
调用是错误形式时,这不是't always enough. Often, you will want to trace a thread of logic from server to client or vice-versa. Or you may want to retain the ability to log your application after it'发布的 . 您可能已经将Logger.log()
与gs代码一起使用了 - 好吧,有一个技巧可以让您将它用于客户端JavaScript .客户端代码可以将日志发送到服务器端,在那里它们可以组合并写入电子表格以进行完整的应用程序调试 . 在服务器上,您可以使用自己的函数将行附加到电子表格,但我更喜欢使用BetterLog库来为我处理这些细节 .
通过客户端JavaScript中的辅助函数,您可以编写与客户端Google Apps脚本类似的Logger.log()语句:
在服务器端,
clientLog()
函数接收客户端日志消息,确保电子表格日志记录可用,并使用前置文本写入日志以唯一标识客户端日志:组合日志将如下所示:
这在我的博客Did you know? (You can log to a spreadsheet from client JavaScript!)中有更详细的描述