IE9 автоматически входит в представление совместимости на определенной странице

В настоящее время я управляю сайтом электронной коммерции, который я не разрабатывал. Разработчик решил сделать так, чтобы при просмотре элемента при нажатии кнопки "Добавить в корзину" использовался метод "post" jQuery для публикации идентификатора элемента и указанного количества в "/items/ajax_add_to_cart" через Ajax.

Я получил сообщение от владельца сайта о том, что два или три покупателя сказали, что они добавляют товары в свою корзину, но их корзина оказалась пустой. Я исследовал и нашел следующие записи в журнале доступа Apache (IP-адрес и URL-адреса изменены):

127.0.0.1 - - [19/Sep/2011:12:49:50 -0400] "GET /items/view/1234 HTTP/1.1" 200 12117 "http://www.example.com/items/search/[keyword]" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; WOW64; Trident/5.0)"

127.0.0.1 - - [19/Sep/2011:12:50:15 -0400] "POST /items/ajax_add_to_cart HTTP/1.1" 200 15 "http://www.example.com/items/view/1234" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; WOW64; Trident/5.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; BRI/1)"

127.0.0.1 - - [19/Sep/2011:12:50:16 -0400] "GET /items/view_cart HTTP/1.1" 200 10305 "http://www.example.com/items/view/1234" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; WOW64; Trident/5.0)"

Обратите внимание, что при доступе к странице "/items/ajax_add_to_cart" строка пользовательского агента подразумевает, что Internet Explorer 9 автоматически перешел в представление совместимости. Это объясняет, почему корзина оказывается пустой. Я не в состоянии повторить это вообще, все же.

Любые идеи о том, почему это происходит? Я, вероятно, добавлю <meta http-equiv="X-UA-Compatible" content="IE=Edge"/> Чтобы исправить это, я хотел бы сначала воспроизвести проблему, чтобы быть абсолютно уверенным в том, что происходит.

1 ответ

Недавно меня попросили спасти два сайта, где IE9 автоматически перешел в режим совместимости. В обоих случаях проблема заключалась в одной строке CSS. Почти невероятно. CSS в обоих случаях был верным с правильным синтаксисом. Первая была декларацией шрифта, вторая - декларацией семейства шрифтов. Оба содержали стек шрифтов. Удаление строки решило проблему. Так что, возможно, это не тот ответ, который вы ищете, но я бы сказал, проверьте CSS!

Другие вопросы по тегам