2010-07-14 1 views
0

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

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

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

  2. Я установил также addded мета элемент в качестве первого элемента в голове элемента на главной странице:

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

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

"т.е. ie8 CSS1Compat Win32"

против

"т.е. 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> 

Спасибо,

Филипп

ответ

0

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

+0

Спасибо, когда я очистил свой кеш, начальные и живые сайты начали работать последовательно ... к сожалению, не в браузере браузера IE7. Теперь они отображаются как в режиме браузера IE8, несмотря на заголовок и метатег. Режим документа - IE7, хотя ... – Philip

+0

Опубликуйте первые несколько строк вашего вывода HTML, которые вы возвращаете с сервера. Не от скрипача, а от фактического источника изнутри IE ... – Tommy

+0

Я хорошо прочитал эту статью, на которую вы указали мне. Глядя на http: // блоги.msdn.com/b/ie/archive/2009/02/16/just-the-facts-recap-of-compatibility-view.aspx, который ссылается на эту статью. Совместимость View и тег X-UA-Compatible не эквивалентны, к сожалению, это означает, что "ie ie8 CSS1Compat Win32" имеет отношение, на которое применяется CSS. – Philip

0

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

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

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