web-dev-qa-db-ja.com

なぜ「ダウンロードにx秒」、「準備ができていない場合は、ここをクリックしてダウンロードする」のですか?

私はWeb開発者ですが、この背後にあるビジネス上または技術上の問題を理解できません。多くのウェブサイトは何かを提供しており、ユーザーはそれをダウンロードする必要があります。

しかし、それらのWebサイトのいくつかは、ユーザーにファイルを直接かつ直接提供する代わりに、単にそのようなメッセージを表示します。

ダウンロードはX秒で完了します。問題が発生した場合は、ここをクリックして手動でダウンロードを開始してください。

開発者がこのような複雑で複雑なソリューションを生み出すのはどのような制約ですか?

ユーザーとして、私はそれが私がレストランにいるかのように感じさせ、注文の準備が整うまで待たなければならないので、UXに対してイライラさせたり不条理にしたり、場合によってはパフォーマンスを低下させたりします。それで、技術的な制限は何ですか?

11
Saeed Neamati

あなたはそのバナーを誤解していると思います。ほとんどの場合、「ダウンロードがstartしない場合、###秒以内にこのリンクをクリックしてください。」と表示されます。 (エンファシス鉱山)

推論はかなり簡単です。

開発者たちはダウンロードを自動化するために最善を尽くしました。ただし、さまざまなブラウザー、プラグイン、およびセキュリティ設定では、期待どおりに機能しない可能性があることを知っています。

それらが提供する秒数は単なる任意の数値です。最悪の場合、自動ダウンロードが開始するまでにかかる時間については、Swagです。この秒数は、エンドユーザーがしばらく待ってから、ダウンロードが開始されているかどうかを確認してから、修正アクションを実行するために必要な時間です。そうしないと、ユーザーはパッケージを2回ダウンロードすることになります。

5
user27355

このようなダウンロード画面を使用する主な理由は2つあります。

  1. このサイトでは、実際にダウンロードする前に広告を表示する必要があります。この場合、ダウンロードは通常数秒間開始されません(その間、直接リンクは無効になります)。
  2. このサイトでは、ダウンロードする前にフォームに記入する必要があり、2つのアクションを実行する必要があります。新しいページを表示するand実際にダウンロードを開始します。ユーザーに追加のリンクをクリックさせたくない場合、最も賢明な解決策は、新しいページからダウンロードを自動的に開始することです(自動ダウンロードロジックが失敗した場合にユーザーが使用できるバックアップリンクを使用)。

最初のケースでは、リンクを提供するだけでサイトの収入源が削除されます。
2番目のケースでは、リンクを提供するだけでは、サイトがユーザー入力にどのように反応するかという通常の期待に反します(特に、フォームを正常に送信した後は、同じフォームが再び表示されることはありません)。

GlenH7は正しいです。バナーに「ダウンロードがstart in ### ...でない場合」と表示されている場合、ページはそれを開始しようとします即時JavaScriptを使用してリンクを開き、JavaScriptが機能しない場合にリンクを提供します。リンクもすぐに機能します。結局のところ、JavaScriptはdocument.open(そのリンク)

ここでより大きな問題は、ファイルへのリンクを直接提供するのではなく、JavaScriptリダイレクトで実際のファイルにこのページを提供した理由です。私には2つの理由があります。

  • だから、彼らはあなたに「何とか何とかをダウンロードしてくれてありがとう...」を示すことができます。これは誤解だと思います。
  • したがって、負荷分散を実行できます。たとえば、 SourceForge。そこには一種の理にかなっているので、フロントページにミラーの選択がなく、デフォルトでダウンロードするにはワンクリックでダウンロードできます。多くの場合、ミラー選択にはより良い方法があります。 SourceForgeのケースは、ミラーがプロバイダーによって提供されているため、どのミラーを使用しているのかを示す必要があるという点でやや特殊です。ほとんどの会社のサイトはそれを必要としません。
3
Jan Hudec

X秒待機の目的は、ページ上の広告を読む時間を与えることであると想定しました。これにより、広告営業担当者に対して、N人が追加をn秒間表示したことを伝えることができます。

これは、レート制限の反DDOS手法でもあると思います。

0
Martin Beckett