Почему в IE8, когда я указываю ссылку на Twitter.com, появляется диалоговое окно «загрузить / сохранить как ...»? - PullRequest
1 голос
/ 05 марта 2010
<a href="http://twitter.com/theusername">Click</a>

По какой-то причине он загружается вместо загрузки на страницу.

Редактировать: Когда я закрываю IE8 и снова открываю его, он снова работает. Тогда, во второй раз, это не будет работать. Мне нужно закрывать и открывать IE8 каждый раз, чтобы он работал.

Ответы [ 4 ]

3 голосов
/ 05 марта 2010

Как уже предполагалось, эта проблема связана с тем, что Twitter возвращает страницы, ориентированные на мобильные устройства, с Content-Type: application/xhtml+xml вместо обычной text/html, ориентированной на браузер для настольных компьютеров. IE печально известен как браузер, который не может обрабатывать application/xhtml+xml, поэтому ожидается, что он не сможет получить доступ к мобильному сайту должным образом.

Настоящая проблема заключается в том, что Twitter устанавливает cookie-файл сеанса (_twitter_sess) для всех twitter.com и записывает в сеансе, пытались ли вы когда-либо получать доступ к m.twitter.com ранее. Если у вас есть, весь будущий доступ к [www.] twitter.com будет перенаправлен на мобильный сайт. Боже мой знает, чего он должен достичь, но он приятно переворачивает IE, и его забавно использовать в том смысле, что если вы можете убедить пользователя IE посетить страницу, где вы добавляете контент из m.twitter.com, вы можете прекратить все его использование Twitter до они закрывают браузер.

Можно было бы надеяться, что они это исправят (и их непоследовательность <meta> тоже пока они на этом).

2 голосов
/ 05 марта 2010

Правильный ответ:

Как сказали Дэвид и DN, причина, по которой IE пытается загрузить это, заключается в том, что он не распознает application / xhtml + xml . Без распознанного типа контента он обычно возвращается к расширению, но так как этот URL не содержит расширения, он возвращается к загрузке как «Неизвестный тип файла».


Старый ответ для потомков

Это ссылка на m.twitter.com, мобильную версию. Данные обрабатываются как xhtml+xml, поэтому я не знаю, почему IE попытается их загрузить.

Редактировать: Расширение файла не существует (имя пользователя - это не каталог с index.htm, это просто файл). Я думаю, что IE определяет тип содержимого по расширению, поэтому, если файл не имеет расширения, его типом является «Неизвестный тип файла», и он предлагает загрузить.

1 голос
/ 05 марта 2010

Вау, это странно. Вы имеете в виду ссылку на мобильный сайт? Я подозреваю, что есть какая-то странность браузера, на стороне Twitter или IE8, я не уверен.

Однако после ответа Скиллдрика IE, по-видимому, по-прежнему не поддерживает application / xhtml + xml . Вполне вероятно, почему - он не поддерживает его, распознает, что это файл, и поэтому просит вас загрузить его.

0 голосов
/ 05 марта 2010

Я подозреваю, что это из-за заголовка ответа, который отправляет Твиттер. Я не уверен точно, что заставляет IE делать это; в строке "Content-type" есть опечатка, с одной стороны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...