Режим совместимости IE8 ... помогите? - PullRequest
0 голосов
/ 14 июля 2010

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

Чтобы рассказать, что я сделал до сих пор:

  1. Я установил HTTP-заголовок X-UA-Compatible в IIS равным IE = 7

  2. Я также добавил, что мета-элемент как первый элемент в элементе head к главной странице:

Используя fiddler, я проверил трафик HTTP и вижу значение заголовка и метаэлемент. Используя тот же браузер (другая вкладка), когда я указываю на наш промежуточный сервер, документ отображается в режиме браузера IE7 и в режиме документа IE7. Что здорово. К сожалению, когда я указываю на действующий сервер, который настроен так же, как промежуточный сервер, документ отображается как в режиме браузера IE8 и режиме документа IE7.

В результате, когда я проверяю инструменты разработчика, CSS, применяемый к элементу html, равен

"ie ie8 CSS1Compat Win32"

против

"ie ie7 CSS1Compat Win32"

Кто-нибудь получил какие-либо предложения, что я мог пропустить?

Обратите внимание, что перед инструкцией DOCTYPE есть пустая строка (что имеет смысл).

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:b="http://www.backbase.com/2006/btl"
    xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:e="http://www.backbase.com/2006/xel"
    xmlns:c="http://www.backbase.com/2006/command" xmlns:d="http://www.backbase.com/2006/tdl"
    xmlns:x="http://woodmac.com/x">
    <head><meta http-equiv="X-UA-Compatible" content="IE=7" /><meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /><meta http-equiv="expires" content="-1" /><meta name="robots" content="index,follow" />
        <script type="text/javascript" src="Backbase/engine/boot.js"></script>

    <link href="App_Themes/MANDA/print_style.css" type="text/css" rel="stylesheet" /><link href="App_Themes/MANDA/screen_style.css" type="text/css" rel="stylesheet" /></head>
    <body>

Спасибо

Philip

Ответы [ 2 ]

0 голосов
/ 21 января 2011

Какой URL вы используете для доступа к каждому серверу? IE8 имеет опцию, которая включена по умолчанию, что заставляет домены «интрасеть» или одноименные домены отображать в режиме совместимости независимо от вашего XUA и других настроек заголовка (Инструменты> Настройки представления совместимости> Отображать сайты интрасети в представлении совместимости).

Если этот параметр включен, и вы обращаетесь к одному или другому из ваших промежуточных и продвинутых сайтов с помощью чего-то вроде http://servername,, то это может привести к тому, что они будут отображаться по-разному независимо от ваших настроек.

Недавно я столкнулся с этой проблемой и в итоге потребовал доступ ко всем серверам с расширением домена (например, http://servername.company.com), и установил заголовок XUA в IE7. Теперь все отображается в режиме IE7 независимо от того, работает на.

0 голосов
/ 14 июля 2010

Посмотрите на этот сайт и посмотрите, пропустили ли вы что-нибудь. Это может быть связано с типом документа, но похоже, что метатеги должны это переопределить.

...