0

В настоящее время я испытываю проблемы с запуском Firefox с EnableOptimization boolean, установленным в true. На данный момент все остальные браузеры отлично работают под этим параметром, только Firefox дает последовательные проблемы jQuery. Если я выключу EnableOptimizations, он также будет работать нормально.ASP.NET MVC Bundle оптимизация, вызывающая ошибки с jQuery в Firefox

В основном у меня есть два пучка в моем решении. Первый пучок используется в качестве базы для всего приложения, которое вызывается в частичном представлении _Layout.cshtml. Здесь находятся файлы jQuery 1.11.3, jQuery UI, AngularJS и т. Д. Второй комплект группирует скрипты для определенного вида. Вот общая структура файла BundleConfig:

Пучки сами содержат 30 или более сценариев вместе, так что я не могу сказать вам, сколько ошибок я получаю, но ошибки все это приводит к тому же самому вопросу, который что-то не так с jQuery в моем решении. Некоторые примеры:

Ex.1: 
TypeError: $.fn is undefined 
().height("")}}function customScroll({$.fn.mCustomScrollbar&&$(".withScroll").e... 

Ex.2: 
TypeError: $(...).on is not a function 

function toggleBuilder() { 
    $('.builder-toggle').on('click', function() { 
    if ($('#builder').hasClass('open')) $('#builder').removeClass('open'); 
    else $('#builder').addClass('open'); 
    }); 
} 

$(document).ready(function() { 
toggleBuilder();   
}); 

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

Это поведение кажется странным для меня, потому что jQuery - это первый скрипт, который загружается на этой странице, поэтому мне кажется, что любой скрипт не может использовать jQuery перед его загрузкой. Еще более странно, что FireFox вызывает эту ошибку.

Любые идеи, какова причина? Возможно, какой-то другой скрипт переопределяет jQuery? Как я могу легко идентифицировать это?

Обновление: после некоторых исследований я решил предупредить значение $. В Chrome и других браузерах он возвращает правильный код. Однако в Firefox он возвращает это:

function (out,values,parent,xindex,xcount,xkey) { 
    var c0=values, a0=Array.isArray(c0), p0=parent, n0=xcount, i0=xindex, k0, v; 
    if ((v=values['prefix']) != null) out.push(v+'') 
    out.push('/') 
    if ((v=values['entityName']) != null) out.push(v+'') 
    } 

Как оказалось, это код Sencha ExtJS. Теперь вот мой обновленный вопрос: как это возможно, только FireFox имеет эту проблему и как я могу это решить? Напомним, что я не хочу касаться каких-либо из существующих скриптов из шаблона, если это не необходимо.

ответ

0

Оказалось, что скрипты ExtJS не были правильно просчитаны, поэтому Firefox дал эти ошибки. В моем решении все остальное было в порядке.