2013-01-11 22 views
1

我已經寫了一個服務器端Gapps系統,但用戶界面的響應速度很糟糕。 現在(失敗)試圖將基本的UI處理切換到客戶端處理程序。如何將邏輯合併到客戶端處理程序的Gapps中?

我發現在對象模型文檔的客戶方處理器(?): https://developers.google.com/apps-script/class_clienthandler

第一個問題似乎是在谷歌的腳本能力有限定義事件處理程序。 我無法在我的客戶端事件處理程序中包含「if」邏輯。

第二個問題是(顯然)提供客戶端(java)全局變量的能力不足。 除了在標籤或文本框中以文本方式存儲客戶端數據之外,是否還有其他選擇?

我在這裏必須缺少一些基本的概念,因爲我無法找到提供真正的客戶端Java模塊在我的Gapps交付頁面源中可用的方法。 任何建議將不勝感激。這個應用程序的用戶界面非常複雜。

PS - 應用程序要求服務器端處理幾個UI觸發器。

+0

我想在google apps腳本開發人員博客中向您推薦[此條目](http://googleappsdeveloper.blogspot.com.br/2011/11/creating-more-responsive-applications.html)。它對待你正在消化的東西,也許你可以從中獲得一些理想。再次,客戶端hanlders對我的使用確實非常有限。 – Jacobvdb

回答

0

客戶端處理程序旨在執行簡單的任務,例如在服務器處理程序中完成所有艱難工作時通知用戶某些進度。請張貼您的嘗試的一些代碼,以便提供更好的建議。

關於你的第二個問題,我更喜歡使用CacheService在處理程序中存儲變量。對於對象,我將它們轉換爲JSON並使用CacheService存儲它們

+0

但我想做一個不平凡的任務客戶端。在Gapps看來這是不可能的。下面是一個具體的例子:我希望客戶端訪問鼠標點擊位置,然後修改樣式屬性以重新定位圖像。 – user1692564

+0

可能使用HTMLService,因爲您可以使用jQuery和jQuery UI。我仍然不確定Caja有多少剝離並允許通過。由於響應時間的原因,我將小工具從UiApp小工具轉換爲HTML服務。但IE8不支持Caja,因此IE8用戶的小工具需要成爲UiApp。 – Fred

0

我認爲客戶機處理程序可能令人困惑,但它們是有意義的。也許可以認爲這些處理程序已經爲你做邏輯了。客戶處理程序不會編寫if-then邏輯,而是爲您完成工作。例如,如果您想驗證用戶是否輸入了數字,並且使用戶可以提交數據(如果條目僅爲數字),則會爲此提供一個客戶端處理程序。例如,您所要做的就是在條目是數字時激活一個按鈕。

正如您在文檔中看到的,有許多處理程序可以處理if-then語句可能已被使用的許多情況。

我將學習如何在接下來的幾天處理數據存儲,但有幾種方法可以存儲腳本和用戶屬性,scriptDB,電子表格或使用JDBC等數據。這裏是涉及上述存儲選項的文檔(除了Srik提到的cacheservice)所以,我不能在那裏提供任何專業知識。試試這個鏈接,文檔上的數據存儲:

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

很抱歉的模糊的答案,但我希望給你一個你至少需要去創建客戶端處理方向的暗示。

相關問題