2009-03-31 1 views
1

По какой-то причине мой сайт отображает ошибку «Невозможно отобразить это сообщение» в этих браузерах при правильной работе в Firefox, Opera, Safari и IE8.Почему мой сайт не работает в IE6 или IE7?

Это выглядит следующим образом: http://www.reviewsaurus.com/images/pagedisplay.png

Этот документ был успешно проверены в XHTML 1.0 Transitional!

+0

Добро пожаловать в веб-разработки. – harpo

+0

Стоит отметить, что «не работает» в этом случае означает сообщение об ошибке «Internet Explorer не отображает веб-страницу» (в отличие от, скажем, ошибки форматирования). – AaronSieb

+0

Спасибо, обновлено. :-) –

ответ

0

Этот документ успешно проверен как XHTML 1.0 Transitional!

Он по-прежнему не работает, хотя ...

Нашли проблему:

Был с помощью следующих процедур для удаления ненужных символов, кажется, неправильно, хотя.

<?php 
function callback($buffer) 
{ 
    $holdit=$buffer; 
    $holdit=str_replace(" ", " ", $holdit); // tab 
    $holdit=str_replace(" ", " ", $holdit); // double space 
    $holdit=str_replace("\n", " ", $holdit); // new line 
    $holdit=str_replace("\r", " ", $holdit); // new line 
    $holdit = eregi_replace("<!--[^>]*-->"," ",$holdit); // comment 
    return $holdit; 
} 
ob_start("ob_gzhandler"); 
ob_start("callback"); 
?> 

Кажется, что эта функция тоже не нужна, она без нее.
(Возможно, я тоже выбрал одно eregi_replace)

+0

Это загрузка для меня. Очистите кеш. –

+0

Да, просто удалил эту функцию из моего кода. ;-) –

+0

Вы должны использовать preg_replace(), а не eregi_replace(). Функции preg быстрее и функции ereg будут устаревать в PHP 5.3: http://wiki.php.net/doc/scratchpad/upgrade/53#deprecated – mercator

1

Это not valid XHTML. Если IE6/7 фактически интерпретирует его как XML, это заставит его прекратить разбор. Можете ли вы дать скриншот, чтобы показать, как выглядит сбой?

UPDATE: Теперь, когда это XHTML Transitional, оно проверяется, и я не в курсе, пока не получу место, где я могу запускать IE.

ОБНОВЛЕНИЕ 2: Просто запустил IE7 против сайта, и страница была загружена в порядке.

+0

Я думаю, что ваша ссылка прослушивается, но я все равно попытаюсь понять, могу ли я избежать того, чтобы она интерпретировалась как XML. –

0

Это показывает, хотя и медленно, в IE7 для меня. Я бы порекомендовал исправлять две ошибки и проверять их как строгие, но они не кажутся причиной вашей проблемы. IE6 и IE7 интерпретируют их как text/html.

3

Это не имеет ничего общего с ошибками HTML. Самое худшее, что можно сделать, это показать искаженную или пустую страницу.

Существует некоторая некорректная настройка сервера в WordPress и gzip Контент-кодирование.

Ваш веб-сайт не работает в IE, но /index.php загружается просто отлично. Проверка сырого HTTP Response (с использованием Fiddler2), разница между этими двумя ответами, что по просьбе к /, WordPress (предположительно) добавляет следующий текст с gzip'нутым телом ответа HTTP:

<!-- Page not cached by WP Super Cache. No closing HTML tag. Check your theme. --> 

Из-за это добавление к содержимому gzipped, он больше не является надлежащим потоком gzip, и IE6/7 не может его развернуть.

Другие браузеры, вероятно, имеют лучшую обработку ошибок, поэтому они могут справиться с ошибкой просто отлично.

Я не знаю, как вы можете исправить эту проблему, но Google search for that piece of text turns up a few hits on wordpress.org at least.

+0

Хм, интересно, вот почему это иногда просто создает обычные страницы ... –

+0

Кажется, что функция вызвала это, все равно будет беспорядочно искать ее ...