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

Verwendung der MySQL-Anweisung „truncate table“

Mit der Anweisung „Truncate table“ werden alle Da...

Detaillierte Schritte zur Installation von MySQL 8.0.18-winx64 unter Win10

1. Gehen Sie zunächst auf die offizielle Website,...

Eine kurze Zusammenfassung aller Kapselungsmethoden in Vue

Inhaltsverzeichnis 1. Kapselungs-API 2. Globale T...

Einführung in die Cloud-native-Technologie Kubernetes (K8S)

Inhaltsverzeichnis 01 Was ist Kubernetes? 02 Der ...

So beheben Sie das Timeout während des Pip-Vorgangs in Linux

So lösen Sie das Timeout-Problem, wenn Pip in Lin...

Auszeichnungssprachen – Nochmal auflisten

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...

Navicat: Mehrere Möglichkeiten zum Ändern des MySQL-Datenbankkennworts

Methode 1: Verwenden Sie den Befehl SET PASSWORD ...

Fügen Sie Linux eine Startmethode hinzu (Dienst/Skript)

Konfigurationsdatei, die beim Systemstart geladen...

HTML-Auszeichnungssprache - Referenz

Klicken Sie hier, um zum Abschnitt „HTML-Tutorial“...