Пустая страница в IE6 - PullRequest
       19

Пустая страница в IE6

2 голосов
/ 06 ноября 2008

Сайт, над которым я работаю и который построен с использованием PHP, иногда показывает полностью пустую страницу. На клиенте или на сервере нет сообщений об ошибках. Одна и та же страница может отображаться иногда, но не другие. Все страницы работают нормально в IE7, Firefox 3, Safari и Opera. Все страницы в формате XHTML с этим метаэлементом:

<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />

появляется , что я исправил проблему, добавив следующий код PHP:

header('Content-type: text/html; charset=utf-8');

Я читал, что эта проблема может быть вызвана XHTML, кодировкой, сжатием gzip или кэшированием, но никто не смог сделать резервную копию этих предположений.

Поскольку проблема была прерывистой, я не уверен, что мое решение действительно решило проблему.

У меня вопрос: есть ли воспроизводимые способы отображения IE6 пустой страницы, когда другие браузеры отображают контент? Если так, что вызывает это и что решает это?

Ответы [ 6 ]

3 голосов
/ 06 ноября 2008

Это проблема типа контента из IE. Он не знает, как обрабатывать приложение / xhtml + xml.

Хотя вы пишете xhtml + xml, IE знает только text + html. Это будет будущее, прежде чем все агенты узнают xhtml + xml

изменить метатег с типом содержимого на content = "text / html;

1 голос
/ 07 октября 2009

У меня была похожая проблема, которая зависела от языка - только страницы с многобайтовыми символами не отображались в IE6 и IE7. Оказывается, в этих двух браузерах порядок метатега Content-Type и тега title очень важен. Таким образом, размещение тега (содержащего японские символы) после метатега решило проблему.

1 голос
/ 06 ноября 2008

Похоже на ошибка # 153 «Самозакрывающийся тег сценария» ошибка в IE, , которая, как известно, вызывает пустые страницы .

Из-за ошибки IE вы можете НИКОГДА кодировать следующее и ожидать, что он будет работать в IE.

<script src="...." />

(если тег самозакрывающийся, вас ждет мир боли)

Вместо этого всегда кодируйте как;

<script src="...."></script>
0 голосов
/ 13 ноября 2009

Я получил эту ошибку из-за ошибки при печати. ​​

Я написал метатег:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />

Благодаря вам я исправил это до:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

и у меня сейчас нет проблем.

0 голосов
/ 08 ноября 2008

Вы должны обслуживать страницы с заголовком Content-Type как text / html для пользователей IE. Вам не нужно менять метатег, просто оставьте его как application / xhtml + xml (IE проигнорирует его).

0 голосов
/ 06 ноября 2008

Не уверен, что это точно соответствует вашему опыту. Это зависит от того, какая конкретная версия IE (включая пакеты обновления) используется.

Известной проблемой рендеринга в IE6 SP2 и IE7 (оба используют один и тот же механизм рендеринга) является существование потерянных тегов в вашем HTML. Это может быть потерянный тег div или скрипт.

<script language="javascript">    // no closing tag
alert('hello world');
<body>
hello world
</body>

Вышеприведенное прекрасно выглядит в IE6 SP1 и Firefox, но вы увидите только пустую страницу в IE6 SP2 и IE7.

Есть некоторые другие теги, которые должны иметь отдельный закрывающий тег. Убедитесь, что любые теги <div> и <script> имеют конечный тег </script> или <div>, а не просто закрывающую косую черту в конце открывающего тега. Еще один <textarea>. Вы должны иметь оба тега.

Вы можете проверить, происходит ли это на вашем сайте, если вы можете просмотреть исходный код своей пустой страницы и получить исходный HTML-код, даже если ваша страница пуста.

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