2011-01-20 16 views
3

今、アップルは「App Storeが100億ダウンロードを達成しようとしている」と示しています。リアルタイムのビルボードはAppleでどのように作られていますか?

インデックスページにはリアルタイムのビルボードが含まれており、絶えず増加するダウンロード数を表示しています。

純粋なHTML + JSを使用しています。

リアルタイム更新とは何ですか? あなたはどう思いますか?

+0

他の人がこれに答えているようですのでここでコメントしますが、数日前にカウンタを見て1〜2分視聴しました。あなたはそれが一定の割合で上がっていると言うことができ、ある一定の割合で何かが増えているときは、それが増えている実際の割合ではないと考えることは安全です。 (アプリが実際にドットでX秒ごとに買われていない限り) – user535617

答えて

1

ページが読み込まれたときにカウントが行われ、最近のアクティビティに基づいてJavaScriptの増加率が算出される可能性があります。そうであれば、それはリアルタイムの更新ではなく、開いたままにしておくと完全には正確ではありません。最初にロードされたときのみ。

私はタイマーを見たことがありません。利用可能なリンクはありますか?

+0

http://www.apple.com/にアクセスしてください。 – Nate

0

まず、現在のカウントをajaxで1回だけ取得します(要素を検査し、firebug's HTMLとNETパネルのxhrリクエストを見ることができます)。その後、それぞれの時間の「上」と「左」の位置がアニメーション表示されますコンテナ要素。

See screenshot

1

それ様応答含ま http://www.apple.com/autopush/us/itunes/includes/countdown.inc?r=0.1472943772081361

等XHR要求を介して現在のカウント値をフェッチ:午前6時00分のようにカウント値(9944770635)を有する

20-JAN-2011 06:00:00|9944770635|1176919 

を今日(私はそれがUTCだと思う)。次に、数学を使用して、それまでのダウンロード数を近似します。

+0

応答の第3フィールド(1176919)は増加率ですか? 1時間あたり何か何か? –

3

AJAX経由でこの文書を取得するために表示されます。 http://www.apple.com/autopush/us/itunes/includes/countdown.inc?r=0.7329968574922532

は含む:

20-JAN-2011 06:00:00|9944770635|1176919 

を、形式になって表示されます:

<timestamp>|<total as of timestamp>|<rate as of timestamp> 

javascriptのは、その後の合計をインクリメントレートと現在のタイムスタンプとの差を掛けて計算します。次に、一定の間隔ごとにレートをインクリメントし、ディスプレイをアニメートします。

関連する問題