2012-07-03 90 views
0

我正在創建一個包含用於Google網站的按鈕和文本框的UI面板。看起來劇本重新啓動(Globals重新加載,記錄清晰) - 我最好能夠在點擊按鈕後確定它的位置。按鈕處理程序中沒有任何內容會導致錯誤。按鈕處理程序運行正常(doGet似乎不再運行)。
使用以下設置按鈕處理程序。也許這裏有什麼東西在造成它?谷歌應用程序腳本在Google上執行期間重新啓動

//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中作爲解決方法,但想明白爲什麼會發生這種情況。

回答

1

這是故意的行爲。每個回調都會運行一個「新鮮」腳本,因此不建議讓常量不是真正的常量。見類文檔瀏覽:

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

嗶嘰,這些方法只是推薦使用,因爲我們取而代之的是所有createServerHandler這適用於任何類型的處理程序。所有舊的羅嗦createServerXXXHandler方法仍然可行;它們只是createServerHandler的同義詞。

+0

感謝您的明確信息;-) –

+0

感謝您的迴應。在閱讀完文檔後,我看到建議是我已經提出的解決方法 - 在用戶屬性中存儲狀態數據。 –

相關問題