web-dev-qa-db-fra.com

IE supprime les paramètres d'un URI de fichier collé dans une barre d'adresse?

Question: Comment puis-je empêcher IE de supprimer les paramètres du fichier URI collé dans la barre d'adresse?

Description d'un problème: J'ai une page "simpleTest.html" avec seulement ce code JS à l'intérieur, qui renvoie l'emplacement actuel du navigateur:

console.log("document.URL: " + document.URL);
console.log("document.location: " + document.location)
console.log("document.location.href: " + document.location.href)
console.log("window.location: " + window.location)
console.log("parent.frames.document.location: " + parent.frames.document.location)

Lorsque je colle l'adresse dans ce fichier dans la barre d'adresse d'IE avec certains paramètres, par exemple:

file:///pathToFile/simpleTest.html?dupa=2

Le lien devient:

file:///pathToFile/simpleTest.html

Lorsque je le colle pour la deuxième fois, les paramètres y restent. Toutefois, si entre-temps, j'accède à d'autres ressources, je devrai le coller 2 fois de plus pour que les paramètres restent.

De plus, après avoir placé le site Web dans mon Apache local et y avoir accédé via HTTP, les paramètres sont restés tels que:

http://127.0.0.1/pathToFile/simpleTest.html?dupa=2

Cela fonctionne très bien pour FF et Chrome, pour les protocoles de fichiers et http. Des idées sur ce comportement étrange dans IE?

2
user1581900

file: /// ouvrira un fichier sur votre lecteur ou sur le lecteur réseau à l'aide du système d'exploitation. Lorsque vous utilisez http://, vous indiquez au navigateur qu'il s'agit d'un lien hypertexte vers un fichier situé sur Internet, et non localement.

Vous verrez probablement les paramètres après plusieurs essais car IE ne fait que sauvegarder votre historique.

De plus, le fait d'avoir un ? dans l'URL implique que des scripts côté serveur soient impliqués pour traiter le ou les paramètres d'URL, qui ne s'exécuteraient que via un serveur Web.

3
dan