Вопрос

Я борелся против режима совместимости IE8 в течение всего дня, и я собираюсь обмануть кирпич на нем.

У меня какой-то код, который использует jQuery 1.2 (да, это старое - не могу изменить это), чтобы найти некоторые записи в нашем веб-приложении. Результаты поиска можно нажать, чтобы просмотреть содержимое записи (с помощью .animate () открывает пространство подряд и создает еще один TR внизу и вставляет данные HTML из корма JSON).

В IE8, нажав на результат, чтобы просмотреть содержимое, чтобы перезагрузить в режиме совместимости, где он отлично работает во всех других браузерах (IE7, FF3.0 +, Chrome, Safari). Я пытался использовать панель инструментов разработчиков IE8 для отладки и отслеживания, почему это происходит, но я не смог найти какую-либо ошибку или какие-либо доказательства того, что может ее вызвать.

Код, который показывает превью:

// Code that binds a click to open the result preview:
var _tr = $('<tr class="outline" id=' + val.assessment.assessmentId + '></tr>').bind("click", msi.reuseAssessment.preview);

...

// in msi.reuseAssessment.preview()
var url = "/direct/msi-assessment/" + assessmentId + "/assessmentHtml.json?no-cache=true";
jQuery.ajax({
    type: "GET",
    url: url,
    dataType: "json",
    success: function(d, textStatus){
        var _content = d.assessmentHtml;
        var _preview = $("<tr id=" + assessmentId + "></tr>");

        // loadContent 
        _tr.after(_preview.animate({
            height: 50
        }, 500, 0, function() {
            msi.reuseAssessment.drawPreview(this, _content); // Puts the content from the json into a td
        }));
    },
    error: function(xmlHttpReq, status, errorThrown) {
        // display error msg
    }
});

Выступая через код, используя инструменты разработчика IE8, он пропускается здесь и в куда-то в код jQuery, и это когда он обновляется в режиме совместимости. Я проверил JSON, код HTML, который выходит с W3C, и все в порядке, я действительно в потере от того, что происходит.

Кто-нибудь знает, как я могу лучше отследить то, что это заставляет его, или я должен просто заставить IE7 Mode на этих страницах?

Редактировать: поиск выполняется в всплывающем окне AJAX, который появляется над верхней частью экрана. Это шаблон (базовый HTML) загружен из отдельного HTML-файла и вводится в div в нижней части исходной страницы. Это означает, что будут вложены HTML-файлы (с <html></html> Теги и т. Д.). Это так повлияет на это тоже?
Редактировать 3: Удаление этих дубликатов тегов не решило проблему.

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

Это было полезно?

Решение 3

После того, как коллега тоже искал, мы нашли это Вот на так, Там, где было подтверждено, что максимальная высота вызывает жесткое утверждение в IE8, подтверждающее, что это действительно ошибка в IE8, как Ericlaw Posted.

Мы использовали максимальную высоту для стиля Div, мы вставляем содержание, и, в свою очередь, вызывая упорное утверждение. Вышеуказанный связанный вопрос имеет работу для всех, кто может встретиться с этой проблемой.

Другие советы

К заставляет его перезагрузить в режиме совместимости Вы имеете в виду, что вы получаете уведомление о воздушных шарах, который говорит что-то вроде: «Internet Explorer столкнулся с проблемой с этой страницей и загрузил его в режим совместимости»?

Если это так, это означает, что вы попали в ошибку в IE. Называется «твердым утверждением», это означает, что механизм макета разбился (не AV или что-то захватывающее, он только что попал в некоплеобразенное состояние) и, таким образом, т. Е. немного Содержание с помощью старого механизма макета.

Если проблема все еще возникает в IE9, пожалуйста, подать ошибку в http://connect.microsoft.com/ie.

Спасибо!

Вы гарантировали, что ваш DOCTYPE и X-UA-совместимые правильные

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

И добавить это сразу после <head>

<meta http-equiv="X-UA-Compatible" content="IE=8">
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top