1

Google Apps スクリプトを Web アプリとしてデプロイしています。一部の div の .innerHTML をサーバーから送り返された html に置き換えて、コンテンツを更新しようとしています。

適度な量の単純な html (深さが 3 層以下、基本的にそれぞれ 4x21 div の 15 グリッド) の場合、25 秒かかります。

タイムスタンプを記録したところ、実際には mydiv.innerHTML = newhtml (クライアント内) への呼び出しがすべての時間を占めていることがわかりました。

これはカハ衛生ですか?ページ全体のリロードには、少なくとも 4 秒のサーバー時間を含めて約 10 秒かかります。では、なぜこれがほぼ桁違いに遅いのでしょうか?
ありがとう。

4

1 に答える 1

2

はい、カハサニタイズである可能性があります。残念ながら、クライアントで行う方法には、最初のサーバー負荷よりも遅い書き換えが含まれます。短期的な解決策として、次のいずれかをお勧めします。

  1. 多くの innerHtml 呼び出しを 1 つの呼び出しに置き換える、または
  2. HTML 構造をそのまま残し、innerHTML の代わりに textContent を使用して小さな部分を変更します (例: テーブル構造をそのままにして表示しないようにし、セルで textContent を使用してその値を変更します)。

長期的には、これが遅いことを認識しており、高速化に積極的に取り組んでいます。より詳細なヘルプを求めるか、Caja の公開サイトで進行状況を追跡できます。

于 2013-02-03T21:09:08.183 に答える