window.location.href ne fonctionne pas dans Internet Explorer avec les fichiers XLS

StackOverflow https://stackoverflow.com/questions/1504350

  •  19-09-2019
  •  | 
  •  

Question

J'ai une application héritée qui, à un moment donné, génère le code suivant dans l'une de ses pages:

window.location.href = "http://localhost:8080/myApplication/manuals/charts.xls";

Quand Mozilla voit cela, il ouvre une boîte de dialogue de téléchargement avec "ouvrir avec ... \ Enregistrer sous ..." options.

IE (v7 et v8) ne pas ouvrir une boîte de dialogue. Il prend le fichier et il rend juste la page, comme un HTML; mais il est un fichier binaire, donc tout ce que vous voyez est garbage à l'écran.

Quelqu'un at-il rencontré auparavant?

EDIT1: Cela fonctionne sur un certain navigateur IE mais pas sur tous. Je pense un problème de configuration avec IE. En outre, pour les fichiers .ppt et .doc ça marche, la question est juste pour les fichiers .xls.

EDIT2: Même si je place un lien dans la page comme:

click <a href="http://localhost:8080/myApplication/manuals/charts.xls">here</a> for the XLS

il ne sera pas afficher la boîte de dialogue lorsque je clique dessus. Il se vient d'écrire dans la page.

Était-ce utile?

La solution

Vous devez vous assurer que votre serveur web envoie le type MIME correct pour le fichier xls.

Rechercher un WEB-INF répertoire avec un web.xml de fichier. Ajoutez ceci au fichier, dans l'élément web-app:

<mime-mapping>
  <extension>xls</extension>
  <mime-type>application/octet-stream</mime-type>
</mime-mapping>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top