2013-10-14 10 views
9

Sto cercando di creare un jqGrid a mio avviso MVC 4 e ottenere unImpossibile ottenere la proprietà 'MSIE' di riferimento non definito o null

Impossibile ottenere la proprietà 'MSIE' di riferimento non definito o null

errore durante l'aggiunta dei file javascript jqGrid

bundles.Add(new ScriptBundle("~/Bundles/Shared/JS").Include(
      "~/Scripts/jquery-1.9.1.min.js", 
      "~/Scripts/jquery.validate.min.js", 
      "~/Scripts/bootstrap.js", 
      "~/Content/silviomoreto-bootstrap-select/bootstrap-select.min.js", 
      "~/Scripts/js/Shared/Index.js", 
      "~/Scripts/js/Shared/Validation.js", 
      "~/Scripts/jquery.placeholder.js", 
      "~/Content/jquery.jqGrid-4.4.3/js/i18n/grid.locale-en.js", 
      "~/Content/jquery.jqGrid-4.4.3/js/jquery.jqGrid.min.js")); 

l'errore si verifica nella seguente riga

e=n.browser.msie&&"6.0"==n.browser.version 

Qualche idea sul perché questo sta accadendo?

risposta

18

Dalla documentazione jQuery per jQuery.browser:

Questa struttura è stata rimossa in jQuery 1.9 ed è disponibile solo attraverso il plugin jQuery.migrate. Si prega di provare a utilizzare il rilevamento di funzionalità, invece.

Quindi sarà necessario passare a una versione precedente di jQuery o utilizzare lo migrate plugin.

+0

Sfortunatamente il plugin di migrazione non ha funzionato e ho dovuto passare a jquery-1.7.2.min.js – user65439

0

e = n.browser.msie & & "6.0" == n.browser.version

Credo che dovrebbe essere così

e == n.browser.msie && "6.0"==n.browser.version 

o e === n.browser.msie && "6.0"=== n.browser.version per uguaglianza rigorosa

0

Ho avuto un problema simile con un altro script più vecchio ma la maggior parte degli utenti eseguirà una versione di IE su 6.0 quindi non è stato un grosso problema per me fornire supporto a 6.0 o versioni precedenti. Quello che ho fatto è stato solo cambiare la linea che detta

var isIE6 = ($.browser.msie && &.browser.version < 7); 

a

var isIE6 = false; 
5

Ho anche avuto problemi simili come struttura è stata rimossa in jQuery 1.9 ... Aggiungere al di sotto di codice all'interno del tag script della pagina .

jQuery.browser = {}; 
    (function() { 
    jQuery.browser.msie = false; 
    jQuery.browser.version = 0; 
    if (navigator.userAgent.match(/MSIE ([0-9]+)\./)) { 
    jQuery.browser.msie = true; 
    jQuery.browser.version = RegExp.$1; 
    } 
})(); 
Problemi correlati