2

サーバー側の Gapps システムを作成しましたが、UI の応答性がひどいです。現在 (失敗)、基本的な UI 処理をクライアント側ハンドラーに切り替えようとしています。

https://developers.google.com/apps-script/class_clienthandlerで、クライアント側ハンドラーのオブジェクト モデル (?) ドキュメントを発見しました 。

最初の問題は、イベント ハンドラーを定義するための Google Script の機能が制限されていることです。クライアント側のイベント ハンドラに "if" ロジックを組み込む方法が見つかりません。

2 番目の問題は、(明らかに) クライアント側 (Java) のグローバル変数を提供できないことです。ラベルまたはテキスト ボックス内のテキスト以外に、クライアント側のデータを保存する代替手段はありますか?

Gapps 配信ページ ソースで使用できる実際のクライアント側 Java モジュールを提供する方法が見つからないため、ここではいくつかの基本的な概念が欠けているに違いありません。どんな提案でも大歓迎です。このアプリケーションの UI は非常に複雑です。

PS - アプリケーションは、いくつかの UI トリガーに対してサーバー側の処理を要求します。

4

2 に答える 2

0

クライアント ハンドラーは、サーバー ハンドラーですべてのハードワークが行われている間に、ユーザーに進行状況を通知するなどの簡単なタスクを実行することを目的としています。より良い提案を提供できるように、試みのコードを投稿してください。

2 番目の質問については、CacheService を使用してハンドラ間で変数を格納することを好みます。オブジェクトについては、JSON に変換し、CacheService を使用して保存します

于 2013-01-11T05:08:11.207 に答える
0

クライアントハンドラーは混乱するかもしれませんが、理にかなっています。おそらく、ハンドラーはすでにロジックを実行していると考えてください。if-then ロジックを記述する代わりに、クライアント ハンドラーが作業を行います。たとえば、ユーザーが数字を入力したことを確認し、入力が数字のみの場合にユーザーがデータを送信できるようにする場合は、そのためのクライアント ハンドラーがあります。たとえば、エントリが数字の場合は、ボタンをアクティブにするだけです。

ドキュメントで見たように、if-then ステートメントが使用された可能性がある多くの状況を処理するためのハンドラーが多数あります。

今後数日間でデータ ストレージの処理方法を学習しますが、スクリプトとユーザー プロパティ、scriptDB、スプレッドシート、JDBC の使用など、データを格納する方法はいくつかあります。これは、上記のストレージ オプション (Srik が言及したキャッシュ サービスに加えて) を参照するドキュメントです。そのため、そこでの専門知識は提供できません。データ ストレージに関するドキュメントについては、次のリンクをお試しください。

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

漠然とした回答で申し訳ありませんが、クライアント ハンドラーを作成するために必要な方向性について、少なくともヒントが得られることを願っています。

于 2013-01-11T08:13:36.943 に答える