Durch die Übergabe eines Dateinamens an den Firefox-Browser werden Leerzeichen durch %2520
anstelle von ersetzt.Ein HTML-Speicherplatz wird als% 2520 anstelle von% 20 angezeigt.
Ich habe folgende HTML in einer Datei myhtml.html
genannt:
<img src="C:\Documents and Settings\screenshots\Image01.png"/>
Wenn ich myhtml.html
in Firefox laden, das Bild zeigt, wie ein gebrochenes Bild nach oben. Also klicke ich mit der rechten Maustaste auf den Link um das Bild zu sehen und es zeigt diese modifizierte URL an:
file:///c:/Documents%2520and%2520Settings/screenshots/Image01.png
^
^-----Firefox changed my space to %2520.
Was zum Teufel? Es hat meinen Raum in eine %2520
umgewandelt. Sollte es nicht zu einem konvertieren?
Wie ändere ich diese HTML-Datei, damit der Browser mein Bild finden kann? Was ist denn hier los?
Hexblot ist eigentlich richtig hier. Normalerweise passiert dies, wenn Sie Ihre URLs per Programmierung neu codieren, und ein Bot kommt herein und codiert es ein zweites Mal. Bots haben eine schlechte Angewohnheit, dies zu tun. Es gibt zwei Möglichkeiten, wie Sie mit diesem Problem umgehen können. 1) Sie können entweder 404 oder 401 mit einer try catch-Ausnahme verwenden oder Sie können eine kleine Funktion schreiben, die die doppelt dekodierten Werte decodiert, bevor Sie sie an eine andere Methode für Geschäftslogik übergeben. –
Dies half mir herauszufinden, warum ich es bekommen habe, wenn ich eine jQuery Ajax Anfrage gesendet habe. Ich habe das Datenattribut in einer Ajax-GET-Anfrage mit der encodeURIComponent-Funktion für den Wert gesetzt, aber jQuery tut dies bereits standardmäßig, weshalb ich% 2520 erhielt. Wirklich hilfreich, danke. – Asher
Gibt es kein Befehlszeilenargument für chrome, um es entweder zu interpretieren oder die Verknüpfung nicht zu interpretieren? –