Lösen Sie schnell das Problem des langsamen und hängenden Öffnens von input[type=file]

Lösen Sie schnell das Problem des langsamen und hängenden Öffnens von input[type=file]

Warum ist die Geschwindigkeit beim Öffnen des lokalen Ordners besonders langsam, wenn der Eingabe-Tag-Typ „Datei“ ist und im Tag das Attribut „acccpet=‚image/*‘“ festgelegt ist?

Nach dem Testen habe ich festgestellt, dass es auf dem Mac bei Safari, Firefox und Chrome kein Verzögerungsproblem gibt (Opera stürzt aus irgendeinem Grund immer ab).

Unter Windows gibt es bei Firefox keine Verzögerungen, nur bei Chrome gibt es Verzögerungen.

Also habe ich beschlossen, zuerst accpet zu entfernen ...

Tatsächlich gab es kein Verzögerungsproblem.

Dann hat dieses Paket accpet="image/jpg" ausprobiert und es blieb wirklich nicht hängen! !

Das Problem scheint "image/*" zu sein.

Aber die ursprüngliche Absicht beim Schreiben von accpet bestand darin, alle Bilder herauszufiltern_(:з」∠)_

Um diese Anforderung zu erfüllen und die Benutzererfahrung zu verbessern, können wir nur Aufzählungen verwenden.

Geänderter Code

<Eingabetyp="Datei" accpet="Bild/gif,Bild/png,Bild/jpeg,Bild/jpg,Bild/bmp"/>

Versuchen Sie es noch einmal, es funktioniert einwandfrei!

Es stellt sich heraus, dass dies daran liegt, dass die SafeBrowsing- Funktion von Chrome Dateien beim Hochladen oder Speichern überprüft.

Wenn die Netzwerkverbindung zu Google schnell ist, sollte es kein Problem geben.

Wenn die Verbindung jedoch langsam oder unterbrochen ist, lässt SafeBrowsing Chrome für eine Weile hängen, bis die Dateiprüfung abgeschlossen ist oder eine Zeitüberschreitung eintritt.

Die Verwendung von accept="image/png, image/jpeg, image/gif" kann dieses Problem lösen, da diese MIME-Typen in der SafeBrowsing- Whitelist stehen und nicht geprüft werden müssen.

Wenn Sie jedoch etwas wie accept="image/*" verwenden, funktioniert es nicht und bleibt möglicherweise hängen.

Der obige Artikel zur schnellen Lösung des Problems des langsamen und hängenden Öffnens von input[type=file] ist der gesamte Inhalt, den der Editor mit Ihnen teilt. Ich hoffe, er kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

<<:  So finden Sie bei der Anmeldeoberfläche die richtige Balance zwischen Benutzerfreundlichkeit und Sicherheit

>>:  Detaillierte Erläuterung der Wertübertragung von nicht über- und untergeordneten Komponenten in Vue3

Artikel empfehlen

JS-Implementierung des Karussell-Karussell-Falls

In diesem Artikelbeispiel wird der spezifische JS...

Beispielcode zum Hervorheben von Suchbegriffen im WeChat-Miniprogramm

1. Einleitung Wenn Sie im Projekt auf eine Anford...

Einführung in MySQL-Rollenfunktionen

Inhaltsverzeichnis Vorwort: 1. Einführung in die ...

Tutorial zur Master-Slave-Konfiguration der MySQL-Datenbank unter Windows

Der detaillierte Prozess zum Konfigurieren des My...

Erfahrungsaustausch zur Reparatur von MySQL InnoDB-Ausnahmen

Eine Reihe von MySQL-Bibliotheken zum Testen. Die...

Informationen zur Installationsmethode für MySQL 8.0.13-ZIP-Pakete

MySQL 8.0.13 verfügt standardmäßig über einen Dat...

Definition und Verwendung des MySQL-Cursors

Erstellen eines Cursors Erstellen Sie zunächst ei...

Warum wird in React nicht empfohlen, einen Index als Schlüssel zu verwenden?

1. Vergleichen Sie den alten virtuellen DOM mit d...

Allgemeine Struktur-Tags in XHTML

Struktur Text, Kopf, HTML, Titel Text abbr, Akron...

Vue implementiert einen einfachen Bildwechseleffekt

In diesem Artikelbeispiel wird der spezifische Co...