0

我正在创建一个带有按钮和文本框的 UI 面板,以便在 Google 网站上使用。脚本似乎有时会重新启动(全局重新加载,日志清除) - 尽我所能认为它是在按下按钮后。按钮处理程序中没有任何内容会导致错误。按钮处理程序运行良好(doGet 似乎不再运行)。
使用以下设置按钮处理程序。也许这里是什么原因造成的?

//container is the app

//textOnButton = "Next"

//handler ="submitNext_"   - name of method that handles click

//vPanel is the panel containing the button

var submitButton = container.createButton().setId(textOnButton);

submitButton.setText(textOnButton);

// submit handlers

var submitServerHandler = container.createServerClickHandler(handler);

submitServerHandler.addCallbackElement(vPanel);  

submitButton.addClickHandler(submitServerHandler); 

关于这种行为的任何想法?主要问题是我的几个全局常量并不是真正的常量,它们在重新启动时被重新设置。我可以将它们存储在 UserProperties 作为解决方法,但想了解为什么会发生这种情况。

4

2 回答 2

1

这是故意行为。每个回调都运行一个“新”脚本,因此不建议使用不是真正常量的常量。请参阅此处的类文档:

https://developers.google.com/apps-script/class_serverhandler

Serge,这些方法已被弃用,仅仅是因为我们将它们全部替换为适用于任何类型处理程序的 createServerHandler。所有老旧的 createServerXXXHandler 方法仍然有效;它们只是 createServerHandler 的同义词。

于 2012-07-03T15:56:41.463 回答
0

这可能与今天在这里看到的另一篇文章有​​关,因为您正在使用的处理程序createServerClickHandler(handler)已于2012 年 6 月弃用

不确定但值得一试吗?

于 2012-07-03T15:52:03.473 回答