У меня есть статический HTML (index.html) с DOCTYPE ниже, который запускает стандартный режим в IE7:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
Затем я преобразую страницу в три PHP-шаблона HTML: header.html.php, index.php, footer.html.php.И header.html.php включает в себя точный DOCTYPE, как указано выше.
Но каждый раз, когда я запрашиваю index.php в IE7, он портит визуализацию.
Я использовал команду javascript:alert(document.compatMode)
для тестирования в IE7 и FF3
Для статической html-страницы и IE7, и FF3 дают мне CSS1Compat, то есть режим, который я ожидал;Но для страницы, сгенерированной PHP, FF3 дает мне CSS1Compat, в то время как IE7 дает мне BackCompat.
Вот что я думаю, проблема заключается в следующем: Я загрузил страницу из IE7 и обнаружил, что DOCTYPE становится<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
без адреса.
Но при загрузке той же страницы, сгенерированной PHP, в ff3 и chrome, DOCTYPE правильно <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Когда я тестирую страницу, неудивительно, что самая перваястроки исходного кода, который получает валидатор W3C: # <!-- A customized tag to distinguish different pages --> # <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
И проверка W3C указывает на пустую первую строку.
Я удалил спецификацию на все статический PHPфайлы и файлы CSS, но я все еще получаю проблему.
Это проблема с Apache или PHP?У кого-нибудь есть подсказка, чтобы это исправить?
Спасибо.