0

Googleサイトで使用するためのボタンとテキストボックスを備えたUIパネルを作成しています。スクリプトが時々再起動するようです(グローバルの再読み込み、ログのクリア)-ボタンを押した後だと私が理解できる限りです。ボタンハンドラーには、エラーの原因となるものは何もありません。ボタンハンドラーは正常に実行されます(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

サージ、これらのメソッドは、すべてのタイプのハンドラーで機能するcreateServerHandlerにすべて置き換えたため、非推奨になりました。古い言葉の多いcreateServerXXXHandlerメソッドはすべて引き続き機能します。これらは、createServerHandlerの単なる同義語です。

于 2012-07-03T15:56:41.463 に答える
0

これは、使用しているハンドラーが2012年6月から非推奨になっているため、今日ここに表示されている別の投稿に関連している可能性がありますcreateServerClickHandler(handler)

わかりませんが、試す価値はありますか?

于 2012-07-03T15:52:03.473 に答える