2008-10-24 12 views

Antwort

8

Es gibt keinen technischen Grund, der verhindert, dass der Browser die zu sendenden Bytes berechnet und dann verfolgt, wie viele vom Server empfangen wurden (Danke, Kibbee für Ihren Kommentar). Firefox hatte einen funktionalen Upload-Fortschrittsanzeige bis Version 0.9, aber das build brach es im Jahr 2004.

Durchlesen der Bugzilla Updates, scheint es, dass diese Funktion nicht genug Nutzer profitieren, um Traktion von den Entwicklern zu bekommen.

Benutzer, die regelmäßig sehr große Dateien hochladen, neigen dazu, Tools wie FTP zu verwenden, die für diesen Zweck entwickelt wurden und daher nicht betroffen sind.

+0

Der Browser konnte also nur raten, aber nie genau wissen, wie viele Daten vom Server empfangen wurden, weil es keine Steuerverbindung gab in FTP. Sie müssen also Ihre eigene "Kontrollverbindung" mit AJAX Polling aufbauen ... – Egon

+0

Der Client weiß, wie viel gesendet wird, was für einen Upload-Fortschrittszähler relevant ist. Wenn Daten verloren gehen, ist das für den Fortschritt des Uploads nicht relevant. – Gerald

+0

@Gerald: Guter Punkt. So könnte ein Browser eine Fortschrittsanzeige anzeigen und sie mit "Bytes gesendet" beschriften. Es wäre nützlich, die Anzahl der Wiederholungen im Indikator anzuzeigen und diese alle paar Sekunden zu aktualisieren, um dem Benutzer zu zeigen, warum ein Upload langsam ablief. – flamingLogos

2

Sie haben eine Datei hochzuladen, um zu Posten zurück, unabhängig davon, ob Sie „hinterhältig“ darüber werden (B. versteckte Iframes verwenden); Die Fortschrittsleiste des Browsers (normalerweise in der Statusleiste) ist in diesem Sinne die Upload-Fortschrittsleiste, wenn auch nicht genau.

alt text

Es ist nur so, dass man nicht so leicht, dass die Daten für sich selbst nutzen kann, so dass Sie es mit einer Menge von Client-zu-Server-Kommunikation Tricks anzunähern haben.

+0

Der Punkt ist, dass es die Datei auf dem Client ist, ist es albern auf dieser Client-Server-Trickserei weiterleiten zu müssen. Es sollte Sache des Browsers sein, den Überblick darüber zu behalten, wie viel Zeugs ausgeht ... wie bei FTP, es sei denn, es gibt etwas anderes, das mir nicht bekannt ist. – Egon

+0

Ich habe vergessen, die Statusleiste startet, nachdem der Browser die Antwort vom Server bekommen hat (zumindest in Firefox) – Egon

0

Der Webbrowser war schon immer das, ein Browser des Webs. Es ist ein Mechanismus für den Verbrauch. Unsere Fähigkeit, Informationen über dasselbe Portal hochzuladen, ist eine Art Hack.

7

Hinzufügen zu flamingLogos Argument, können Sie hinter einem Proxy, der Ihre fünf Megabyte pure Güte innerhalb einer Sekunde dauert, und sendet es dann an den Server über ein 56kbit-Modem.

Ich nehme eine falsche Fortschrittsbalken etwas schlechter als gar keine Fortschrittsbalken, und es würde viele Leute geben, für die es falsch wäre die ganze Zeit.

+0

Das ist wahrscheinlich der Grund, warum sfwupload nicht für mich funktionierte ... Ich war hinter einem Proxy :-) – Egon

1

Es gibt keinen wirklichen technischen Grund, warum Sie keine vernünftige Fortschrittsanzeige wie bei Downloads haben könnten. Sie sollten es als Feature-Anfrage an Ihren bevorzugten Browser vorschlagen.

Das sagte, ich denke der Hauptgrund, warum es so viele Javascript/flash/Ajax-basierte Upload-Komponenten gibt, ist nicht so sehr, um Fortschrittsbalken (obwohl das ist ein netter Bonus). Das liegt normalerweise daran, dass sie eine bessere Benutzeroberfläche zum Auswählen der zu ladenden Daten bereitstellen und die Daten vor dem Hochladen manchmal manipulieren möchten. Die grundlegende Funktion zum Hochladen von Dateien, die in den HTML-Spezifikationen enthalten ist, führt zur Schaltfläche "Durchsuchen ...", die einen Dialog zum Öffnen einer Datei öffnet und die Rohdateidaten unverändert auf den Server überträgt.

3

Ja, es ist albern, und aus irgendeinem Grund ignorieren Browser-Hersteller es. Ich würde stark bestreiten, dass große Datei-Benutzer FTP verwenden - kaum jemand weiß darüber mehr und alle gängigen Web-Apps erfordern HTTP-Uploads für Video, Audio und Bilder (z. B. youtube).

Ironisch, dass Benutzer Beteiligung und Medien ist der Schlüssel zum Web 2.0, aber der Hauptmechanismus für die Benutzer Beteiligung ist so schlecht von Browsern behandelt.

Für Firefox hat es Bugs seit Jahren schmachtet gewesen, wie für eine bessere Upload Fortschrittsanzeige: https://bugzilla.mozilla.org/show_bug.cgi?id=243468

Get Voting! :)

Die bestehenden Fortschrittsbalken in der Statusleiste ist seit Jahren gebrochen - siehe Bug 249338 - und es läßt Dich lautlos einen Upload abbrechen - siehe Bug 432768.

0

Chrom hat eine Ladeleiste, die das% der Belastung zeigt.

Oder, wie Peuchele sagt, gibt es auch eine Addon für Firefox.