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

CSS-Beispielcode zur Implementierung von Schiebetüren

Durch die sogenannte Sliding Door-Technologie läs...

JavaScript-Implementierung des Spiels des Lebens

Inhaltsverzeichnis Konzept-Einführung Logische Re...

Lösung, wenn der Docker-Container nicht auf den Host-Port zugreifen kann

Ich bin kürzlich bei der Arbeit auf ein Problem g...

Beispielcode zur Implementierung eines Laufschriftformats mit CSS3

Hintergrund Folgendes ist passiert: Luzhu erfuhr ...

So schreiben Sie den Nofollow-Tag und verwenden ihn

Das „nofollow“-Tag wurde vor einigen Jahren von G...

Detaillierte Erklärung zur Verwendung von Element-Plus in Vue3

Inhaltsverzeichnis 1. Installation 2. Importieren...

Implementierung einer Bildfragmentierungsladefunktion basierend auf HTML-Code

Heute werden wir einen fragmentierten Bildladeeff...

Detaillierte JavaScript-Rekursion

Inhaltsverzeichnis 1. Was ist Rekursion? 2. Mathe...

Optimierung der Frontend-Leistung von Websites: JavaScript und CSS

Ich habe einen Artikel des Yahoo-Teams über die O...

Beispielcode für das MySQL-Indexprinzip ganz links

Vorwort Ich habe kürzlich etwas über MySQL-Indize...