1

Google サイトで Google Apps Script ガジェットの読み込み時間が一貫していません。ガジェットの読み込みプロセスには、「空白」期間と「読み込み」アニメーションの期間の 2 つの段階があるようです。これら2つのフェーズの関係を説明できる人はいますか? アニメーションの読み込みが完了するまでコードの実行が開始されないことは疑いますが、知る方法がありません。これは本当ですか?

私のスクリプトは、読み込みアニメーションに到達すると、比較的一貫して実行されるようです。Google Apps Script のパフォーマンスの最適化に関する入手可能なドキュメントを確認し、要件に対して妥当な読み込み時間を得ることができましたが、ガジェットがコンテンツを表示せずに 60 秒以上かかることがあり、読み込みアニメーションが表示されます。 .

1 つのページに 3 つの Google Apps Script ガジェットがあり、3 つのパフォーマンス プロファイルが大きく異なります。そのうちの 2 つのスプレッドシートからデータを読み込んでいますが、別のスプレッドシートで Google コンタクトを反復処理する必要があり、かなり時間がかかります。これらのスクリプトの 1 つが「読み込み中」のアニメーションに到達すると、それらはすべてかなり速く実行を開始するように見えますが、開発者としての私が行うことは、読み込みアニメーションの前の時間に影響を与えません。

4

2 に答える 2

1

Javascript (または GAS) でサーバー呼び出しを行う場合、Web ブラウザーはシングル スレッドであるため、サーバーから値を返し、ページをレンダリングする前に、サーバーへのすべての関数呼び出しを完了する必要があります。回避策は、ページに簡単なボタンを作成して GAS プロセスを開始し、ボタンが押されたときに clienthandler を介して読み込み画面を表示することです。プロセスがバックグラウンドで進行しているときにロード画面が表示され、最終的にプロセスが終了したら、ロード画面 (パネル) の可視性を false に設定できます。

最も洗練されたソリューションではありませんが、最初のページがすばやくレンダリングされ、パネルを設定して (必要に応じてアニメーション GIF 読み込みグラフィックを使用して)、ページが読み込まれていることをユーザーに伝えます。

お役に立てれば!

于 2012-10-27T07:28:28.257 に答える
0

興味深い質問です。しかし、私たちにできることは他に何もないのではないかと心配しています。まあ、Googleに文句を言う以外に:)

イシュー トラッカーで「拡張リクエスト」を開く必要があると思います。

于 2012-05-08T16:03:14.260 に答える