1

Is there a way to use a PHP script in a website to verify that a given visitor has a broadband connection (some minimum downstream kbs ) before proceding to render certain or all elements of a webpage?

4

1 に答える 1

0

どれどれ...

クライアントがページ #1 を要求すると、タイムスタンプをセッションに保存します。ページ #1 に JavaScript を追加して、クライアントがページが読み込まれるとすぐに大きなファイル (5MB など) のダウンロードを開始し、ダウンロードが完了するとすぐにページ #2​​ を要求するようにします。すべてがバックグラウンドで行われるように、すべて AJAX にする必要があります。

ここで、ページ #2​​ は、現在のタイムスタンプをセッションに保存されている元のタイムスタンプと比較します。この違いから、クライアントが大きなファイルをダウンロードするのにかかった時間をおおよそ知ることができます。速度に満足したら、AJAX 経由でさらに多くのページ要素を再度送信します。

しかし、これは悪い考えです。

この方法では、不要なファイルを転送する必要があるだけでなく (モバイル クライアントには追加料金がかかる可能性があります)、非常に信頼性が低くなります。クライアントとサーバー間の待ち時間 (「ping」と考えてください)、クライアント側の CPU 使用率、回線上の輻輳、およびその他の無数の要因がダウンロード時間に影響します。速度テストを実行するのにかかる時間内に実際のコンテンツを送信することもできます.

結論から言うと、仕方がありません。ページの適切なサイズのバージョンをレンダリングし、クライアントが何かをクリックした後にのみ大きな要素 (ビデオなど) をロードします。まだダイヤルアップを使っている人がいれば、ビデオをクリックしてはいけないことを知ってもらえるといいのですが。

于 2011-07-21T03:59:01.513 に答える