状況
さて、これが取引です。JavaScriptの知識を向上させるために自分自身に挑戦を設定しました。この課題には、完全にフロントエンドのExcelのようなスプレッドシートの作成が含まれます。現在私が持っているのは、テキスト入力を可能にする15列と30行のテーブルセルを持つテーブルです。Excelの場合と同様に、各セルには独自の参照ID(A2、F14、G9など)があります。
_________________
_____|__A__|__B__|__C__|
|__1__|__8__|_____|_____|
|__2__|_100_|__6__|_____|
|__3__|_300_|_____|__5__| etc...
これらのセルを使用すると、Excelのようなライブ数式を内部に配置でき、スプレッドシートはそれに応じて更新されます。次に例を示します。
_____________________
_____|__________C__________|
|__1__| =(SUM(A1:A3)*C3)+B2 |
Would translate to: var n = ((8+100+300)*5)+6;
問題
これですべて問題ありませんが、問題があります。1つのセルだけを更新するたびに、データが正確であることを確認するために、すべてのセルをループして更新する必要があります。上記の大まかな例のように使用可能なセルが9つしかない場合、これは大きな問題ではありませんが、現在のテーブルには15列と30行があります... 450個です!
私は現在、ブラウザーのフォーカスがセルを離れるたびに、背後のJavaScriptがループして各セルを更新し、データがすべて正しいことを確認するように設定しています。これ自体が、データを含むセルが5つまたは6つしかない場合にわずかな遅延を引き起こします。そのため、スプレッドシートのすべてのセルにデータを入力するまでに、ブラウザが停止するのではないかと心配しています。
私はおそらく不可能を夢見ていますが、理想的には、その場で更新される数百の列と行を含むスプレッドシートを提示できるようにしたいと思います。ですから、皆さんへの私の2つの質問は次のとおりです。
- ラグを防ぐために何ができますか?
- その過程でインターネットを壊すことなく、15列以上と30行以上の数式をサポートすることさえ可能でしょうか?