2015-11-12 73 views
0

與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有這個問題,我該如何解決這個問題?回想一下,除非有必要,否則我寧願不要觸摸模板中的任何現有腳本。

回答

0

事實證明,ExtJS的腳本沒有正確地精縮,這就是爲什麼火狐給了這些錯誤。在我的解決方案中,其他一切都很好