Почему IE9 не запускает javascript с моего интранет-сервера в режиме совместимости?

Я разрабатываю сайт интрасети с использованием MVC3, а IIS 7.5 настроен на проверку подлинности Windows.

На моей локальной машине во время разработки и хром, и IE9 без проблем выполняют javascript.

Когда я развертываю решение на своем тестовом сервере и получаю к нему доступ с помощью http://dev-server-name/Home IE не запускает ни один из javascript. Режим по умолчанию, по-видимому, Режим совместимости. Доступ к тому же URL-адресу с помощью Chrome отлично запускает javascript. (Я тестирую POST, где у меня есть обязательные поля, используя ненавязчивую проверку).

Я проверил журналы сервера, и IE загружает соответствующие библиотеки javascript - каждый запрос сценария имеет код 200.

Если я переключаю режим браузера в инструменте разработчика с IE9 Compat View (стандарты IE7) на стандарты IE9, тогда он работает.

После развертывания клиенты будут получать доступ к сайту, используя сочетание IE8 и IE9. Как я могу запустить javascript независимо от режима браузера IE?


person chris    schedule 16.03.2012    source источник
comment
Возможно, вам лучше выяснить, как заставить браузеры не находиться в режиме совместимости для вашей страницы. Я считаю, что есть веб-сайты, которые расскажут вам, как это сделать (я столкнулся с ними некоторое время назад), но я не припоминаю их сразу.   -  person Ben Barden    schedule 16.03.2012


Ответы (1)


Похоже, что другая команда, размещающая приложение на сервере, запросила режим совместимости в клиентском браузере. Поскольку список составлен по сайтам (доменам), ваше приложение также работает в том же режиме. Добавьте метатег на страницу

<meta http-equiv="X-UA-Compatible" content="IE=edge" >
or
<meta http-equiv="X-UA-Compatible" content="IE=9" >

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

Определение совместимости документов

person amit_g    schedule 16.03.2012