У меня странная проблема с jquery.Мы пытаемся использовать jQuery 1.5.1 в нашем старом веб-приложении.Он поддерживает только IE и всегда отображается в режиме причуд (без элемента doctype).
jQuery работает отлично, за исключением одной проблемы.Я заметил, что одна функция работает медленно.Используя несжатую версию, я обнаружил, что проблема в функции инициализации jQuery.Следующий код выполняется около 2 секунд
div.style.width = div.style.paddingLeft = "1px";
body.appendChild( div );
jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
if ( "zoom" in div.style ) {
// Check if natively block-level elements act like inline-block
// elements when setting their display to 'inline' and giving
// them layout
// (IE < 8 does this)
div.style.display = "inline";
div.style.zoom = 1;
**jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2;**
Жирная линия - это проблема.
По некоторым причинам div.offsetLength требует около 2 секунд для выполнения после установки атрибутов отображения и масштабирования.Первый вызов этого свойства (3-я строка) работает быстро.
Интересно, что может вызвать эту проблему и как я могу улучшить производительность инициализации jQuery