jqGrid и режим просмотра совместимости в IE8 - PullRequest
2 голосов
/ 10 марта 2011

В моем последнем проекте я использовал jqGrid 3.8.2, jQuery 1.4.4 и jquery-ui-1.8.10.Компания, в которой я работаю, по-прежнему использует IE8 в качестве веб-посредника, поэтому в своей разработке я всегда тестирую эту платформу.Сегодня я заметил, что jqGrid отображается правильно, когда я тестирую все на своем компьютере (winXP) с использованием сервера разработки ASP.NET Visual Studio (2010): Good

отлично и с заголовком все в порядке.

Когда я копирую все на рабочий сервер (Win 2003 + IIS6.0), одна и та же форма визуализируется забавным образом.

Как вы можете видеть, выделение строк не работает должным образом, и у меня есть эти странные стрелки в заголовке.PS: я использую тот же компьютер и браузер, чтобы отобразить ту же страницу.PPS: Очевидно, что если я использую другой (профессиональный ;-)) браузер (Mozilla, Safari, Opera, Chrome), все работает правильно.

Ответы [ 2 ]

2 голосов
/ 10 марта 2011

По какой-то странной причине IE8 устанавливает «представление совместимости» для всех сайтов интрасети: Compantibility View Settings

Так что я не вижу кнопку «Просмотр совместимости» рядом с моей адресной строкой.
Мне пришлось перейти в меню «Инструменты - Параметры просмотра совместимости» и снять флажок «Отображать сайты интрасети в представлении совместимости».
Нет моего сайта (интранет-сайта) в стандартном режиме, и все работает, как ожидалось.
Спасибо Microsoft, еще раз, я потратил несколько часов на твою глупость.

UPDATE

Как предположил Олег, вы можете добавить эти теги в файл конфигурации (ASP.NET и MVC):

<system.webServer>
      <httpProtocol>
      <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=8" />
      </customHeaders>
    </httpProtocol>
    ...
</system.webServer>

но это работает только в IIS7 , поскольку <system.webServer> не используется IIS6 .
Лучший способ добиться тех же результатов - и это работает для меня - это разместить тег META на главной странице в разделе HEAD :

<meta http-equiv="X-UA-Compatible" content="IE=8" />

Я протестировал его, и он работает, даже если у вас " Отображение сайтов интрасети в режиме совместимости ".

1 голос
/ 10 марта 2011

Выглядит гораздо больше как ошибка при развертывании. Я имею в виду, что либо некоторые файлы (например, из подкаталога images пользовательского интерфейса jQuery) не копируются или копируются, либо вы используете где-то абсолютные, а не относительные пути. Поэтому некоторые файлы не могут быть найдены после развертывания на сервере.

Вы можете попробовать использовать Fiddler или Firebug , чтобы увидеть, какие файлы не могут быть загружены во время кодирования страницы.

...