Я использую библиотеку Флот . Кажется, что он отлично работает в IE8 и IE9, но проблема возникает, когда в представлении совместимости IE9 - он не отображает ни один из графиков. Я подозреваю, что это из-за объекта HTML5 canvas
, который он использует, но я мог ошибаться. Я попытался сделать следующее:
Add: <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
to my HTML tag. I even tried
IE=8
and IE=9
and that did not help either. My tag look like this:
<meta http-equiv="X-UA-Compatible" content="IE=8" /> ... ...
Because I was still seeing the problem, I added the following to my Global.asax.cs file:
void Application_End(object sender, EventArgs e)
{
// Code that runs on application shutdown
Response.Headers.Add("X-UA-Compatible", "IE=Edge");
}
Я все еще сталкиваюсь с проблемой. Ошибка, которую я получаю, такова:
HTML1202: http://intranetdomain/SampleProj/Default.aspx is running in Compatibility View because 'Display intranet sites in Compatibility View' is checked.
Default.aspx
HTML1113: Document mode restart from IE7 Standards to IE9 Standards
Default.aspx
Есть все равно, чтобы пережить это?
EDIT: Checking my response headers, adding that line in Global.asax.cs
did not add them to my headers. I wonder why.
Заголовки ответов:
Key Value
Response HTTP/1.1 200 OK
Cache-Control private
Content-Type text/html; charset=utf-8
Server Microsoft-IIS/7.5
X-AspNet-Version 4.0.30319
X-Powered-By ASP.NET
Date Thu, 27 Oct 2011 20:39:55 GMT
Content-Length 29088
EDIT 2: Очевидно, что Application_End
было неправильным событием. Вместо этого это ввело элемент в заголовок:
void Application_BeginRequest(object sender, EventArgs e)
{
Response.Headers.Add("X-UA-Compatible", "IE=Edge");
}
Но сама проблема по-прежнему сохраняется.
Проблема может быть связана с настройками просмотра совместимости с Internet Explorer. Если вы перейдете в меню «Инструменты», затем в «Параметры просмотра совместимости» убедитесь, что «Показывать сайты интрасети в представлении совместимости» отмечен not . Возможно, вы видите, что IE заставляет вас просматривать совместимость на основе вашего имени хоста, находящегося в вашей интрасети.
Обратите внимание: в зависимости от вашей версии IE вам может понадобиться нажать левую клавишу Alt , чтобы меню появлялось, откуда открывается меню «Инструменты».
Вы можете установить параметры совместимости непосредственно в IIS. Если вы нажмете на сайт и откройте заголовки ответов, вы можете добавить X-UA-Compatible со значением IE = X, где X - ваша целевая версия. Вы также можете установить это на уровне сервера. Но имейте в виду, если у вас несколько сайтов в одном окне, у вас могут возникнуть проблемы с ними. Вместо этого вы можете применить на уровне сервера, а затем удалить унаследованную конфигурацию с уровня сайта.
Два года и два новых выпуска IE позже, и эта проблема IE8 все еще вызывает проблемы!
Я обнаружил, что для приложения ASP.Net нашей компании добавление «X-UA-Compatible» в web.config, на веб-страницах или их код позади, не имеет абсолютно никакого значения.
Единственное, что сработало для нас, - это вручную отключить флажок «Показывать интрасети в режиме совместимости»: