與jQuery的錯誤我目前遇到的問題是讓Firefox並EnableOptimization布爾值設置爲true運行。目前,所有其他瀏覽器都在此設置下運行良好,只有Firefox提供了一致的jQuery問題。如果我關閉EnableOptimizations,它也可以在那裏運行。ASP.NET MVC包的優化導致在Firefox
基本上我有我的解決方案兩捆。第一個bundle被用作整個應用程序的基礎,它在_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有這個問題,我該如何解決這個問題?回想一下,除非有必要,否則我寧願不要觸摸模板中的任何現有腳本。