window.location.href не работает в Internet Explorer с файлами XLS - PullRequest
0 голосов
/ 01 октября 2009

У меня есть устаревшее приложение, которое в какой-то момент генерирует следующий код на одной из своих страниц:

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

Когда Mozilla видит это, он открывает диалог загрузки с опциями «открыть с помощью ... \ сохранить как ...».

IE (v7 и v8) не открывает диалоговое окно. Он берет файл и просто отображает его на странице, как какой-то HTML; но это бинарный файл, поэтому все, что вы видите, это мусор на экране.

Кто-нибудь сталкивался с этим раньше?

EDIT1: это работает в некоторых браузерах IE, но не во всех. Я думаю, что проблема конфигурации с IE. Кроме того, для файлов .ppt и .doc это работает, проблема только для файлов .xls.

РЕДАКТИРОВАТЬ2: Даже если я размещу ссылку на странице как:

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

при нажатии на него диалоговое окно не отображается. Это просто пишется на странице.

1 Ответ

0 голосов
/ 01 октября 2009

Необходимо убедиться, что ваш веб-сервер отправляет правильный тип MIME для файла xls.

Найдите каталог WEB-INF с файлом web.xml. Добавьте это в файл в элементе web-app:

<mime-mapping>
  <extension>xls</extension>
  <mime-type>application/octet-stream</mime-type>
</mime-mapping>
...