2013-01-15 9 views
7

ページが読み込まれないエラーが発生しました。jQuery.browser:Javascript Uncaught TypeError

Uncaught TypeError: Cannot read property 'msie' of undefined

コンソールでのエラーは、このコードを参照してください。

if (jQuery.browser.msie) 
    extra_px += 3; 
                // Fix Link Clicking on IE 7 and below versions 
if (jQuery.browser.msie && Number($.browser.version) < 8) { 
    span_text.css('cursor', 'pointer'); 
    span_text.click(function() { 
     window.location = menu_item.parent().attr("href"); 
    }); 
} 

奇妙なことは、それは突然起こった、私は事を変更していないということです。参考までに、私はWordpressを使っています。

+0

試しください!= '= typeof演算(jQuery.browser.msie)と – Bernhard

+0

同じエラーを未定義!=' 未定義」 – TonalDev

+3

よろしいですjQueryが読み込まれていますか? 'console.log(typeof jQuery);の出力は何ですか? – JJJ

答えて

15

jQuery.browser was deprecated in version 1.3, and finally removed in 1.9.

source

あなたがcurrent version of jQueryで見ることができるように、何の$.browserプロパティはもうありません。

docsに記載されているように、おそらくプラグインに移動された可能性があります。

最後のバージョンのjQueryを使用している場合、undefinedのエラーは理解できます。コードは

isIE6 = navigator.userAgent.match(/msie [6]/i) && !window.XMLHttpRequest, 

乾杯で

isIE6 = jQuery.browser.msie && jQuery.browser.version < 7 && !window.XMLHttpRequest, 

がそれを置き換えられます。このように書かれている場合

+0

OPには最新バージョンは含まれていませんが、特定のバージョン –

+0

@ExplosionPillsが含まれていますが、彼はおそらく –

+1

@JanDvorakです。彼のウェブサイトのコードを見ました。彼はWordPress経由で1.8.3を含んでいますが、最新バージョンのjQuery cdnへのリンクも含んでいます –

4

はい、jQuery.browserは、古いバージョンでは非推奨と古いバージョンでは今1.9.Soで削除されました! !!

2

VisioNanswerには、jQuery 1.9では削除されていますが、すぐに戻ってこないようです。

あなたはjQueryライブラリに$.browserを再度追加するプラグインを働い希望の場合は、単にファイルに以下のコードを貼り付けし、jQueryの後にどこかでスクリプトをリンク&コピー:

;;(function($){if(!$.browser&&1.9<=parseFloat($.fn.jquery)){var a={browser:void 0,version:void 0,mobile:!1};navigator&&navigator.userAgent&&(a.ua=navigator.userAgent,a.webkit=/WebKit/i.test(a.ua),a.browserArray="MSIE Chrome Opera Kindle Silk BlackBerry PlayBook Android Safari Mozilla Nokia".split(" "),/Sony[^ ]*/i.test(a.ua)?a.mobile="Sony":/RIM Tablet/i.test(a.ua)?a.mobile="RIM Tablet":/BlackBerry/i.test(a.ua)?a.mobile="BlackBerry":/iPhone/i.test(a.ua)?a.mobile="iPhone":/iPad/i.test(a.ua)?a.mobile="iPad":/iPod/i.test(a.ua)?a.mobile="iPod":/Opera Mini/i.test(a.ua)?a.mobile="Opera Mini":/IEMobile/i.test(a.ua)?a.mobile="IEMobile":/BB[0-9]{1,}; Touch/i.test(a.ua)?a.mobile="BlackBerry":/Nokia/i.test(a.ua)?a.mobile="Nokia":/Android/i.test(a.ua)&&(a.mobile="Android"),/MSIE|Trident/i.test(a.ua)?(a.browser="MSIE",a.version=/MSIE/i.test(navigator.userAgent)&&0<parseFloat(a.ua.split("MSIE")[1].replace(/[^0-9\.]/g,""))?parseFloat(a.ua.split("MSIE")[1].replace(/[^0-9\.]/g,"")):"Edge",/Trident/i.test(a.ua)&&/rv:([0-9]{1,}[\.0-9]{0,})/.test(a.ua)&&(a.version=parseFloat(a.ua.match(/rv:([0-9]{1,}[\.0-9]{0,})/)[1].replace(/[^0-9\.]/g,"")))):/Chrome/.test(a.ua)?(a.browser="Chrome",a.version=parseFloat(a.ua.split("Chrome/")[1].split("Safari")[0].replace(/[^0-9\.]/g,""))):/Opera/.test(a.ua)?(a.browser="Opera",a.version=parseFloat(a.ua.split("Version/")[1].replace(/[^0-9\.]/g,""))):/Kindle|Silk|KFTT|KFOT|KFJWA|KFJWI|KFSOWI|KFTHWA|KFTHWI|KFAPWA|KFAPWI/i.test(a.ua)?(a.mobile="Kindle",/Silk/i.test(a.ua)?(a.browser="Silk",a.version=parseFloat(a.ua.split("Silk/")[1].split("Safari")[0].replace(/[^0-9\.]/g,""))):/Kindle/i.test(a.ua)&&/Version/i.test(a.ua)&&(a.browser="Kindle",a.version=parseFloat(a.ua.split("Version/")[1].split("Safari")[0].replace(/[^0-9\.]/g,"")))):/BlackBerry/.test(a.ua)?(a.browser="BlackBerry",a.version=parseFloat(a.ua.split("/")[1].replace(/[^0-9\.]/g,""))):/PlayBook/.test(a.ua)?(a.browser="PlayBook",a.version=parseFloat(a.ua.split("Version/")[1].split("Safari")[0].replace(/[^0-9\.]/g,""))):/BB[0-9]{1,}; Touch/.test(a.ua)?(a.browser="Blackberry",a.version=parseFloat(a.ua.split("Version/")[1].split("Safari")[0].replace(/[^0-9\.]/g,""))):/Android/.test(a.ua)?(a.browser="Android",a.version=parseFloat(a.ua.split("Version/")[1].split("Safari")[0].replace(/[^0-9\.]/g,""))):/Safari/.test(a.ua)?(a.browser="Safari",a.version=parseFloat(a.ua.split("Version/")[1].split("Safari")[0].replace(/[^0-9\.]/g,""))):/Firefox/.test(a.ua)?(a.browser="Mozilla",a.version=parseFloat(a.ua.split("Firefox/")[1].replace(/[^0-9\.]/g,""))):/Nokia/.test(a.ua)&&(a.browser="Nokia",a.version=parseFloat(a.ua.split("Browser")[1].replace(/[^0-9\.]/g,""))));if(a.browser)for(var b in a.browserArray)a[a.browserArray[b].toLowerCase()]=a.browser==a.browserArray[b];$.extend(!0,$.browser={},a)}})(jQuery); 

jsFiddle


伝統的な使用例:if ($.browser.msie) { doWork }


/** \t jQuery.browser 
 
* \t @author \t J.D. McKinstry (2014) 
 
* \t @description \t Made to replicate older jQuery.browser command in jQuery versions 1.9+ 
 
* \t @see http://jsfiddle.net/SpYk3/wsqfbe4s/ 
 
* 
 
* \t @extends \t jQuery 
 
* \t @namespace \t jQuery.browser 
 
* \t @example \t jQuery.browser.browser == 'browserNameInLowerCase' 
 
* \t @example \t jQuery.browser.version 
 
* \t @example \t jQuery.browser.mobile \t @returns \t BOOLEAN 
 
* \t @example \t jQuery.browser['browserNameInLowerCase'] 
 
* \t @example \t jQuery.browser.chrome \t @returns \t BOOLEAN 
 
* \t @example \t jQuery.browser.safari \t @returns \t BOOLEAN 
 
* \t @example \t jQuery.browser.opera \t @returns \t BOOLEAN 
 
* \t @example \t jQuery.browser.msie \t @returns \t BOOLEAN 
 
* \t @example \t jQuery.browser.mozilla \t @returns \t BOOLEAN 
 
* \t @example \t jQuery.browser.webkit \t @returns \t BOOLEAN 
 
* \t @example \t jQuery.browser.ua \t @returns \t navigator.userAgent String 
 
*/ 
 
;;(function($){if(!$.browser&&1.9<=parseFloat($.fn.jquery)){var a={browser:void 0,version:void 0,mobile:!1};navigator&&navigator.userAgent&&(a.ua=navigator.userAgent,a.webkit=/WebKit/i.test(a.ua),a.browserArray="MSIE Chrome Opera Kindle Silk BlackBerry PlayBook Android Safari Mozilla Nokia".split(" "),/Sony[^ ]*/i.test(a.ua)?a.mobile="Sony":/RIM Tablet/i.test(a.ua)?a.mobile="RIM Tablet":/BlackBerry/i.test(a.ua)?a.mobile="BlackBerry":/iPhone/i.test(a.ua)?a.mobile="iPhone":/iPad/i.test(a.ua)?a.mobile="iPad":/iPod/i.test(a.ua)?a.mobile="iPod":/Opera Mini/i.test(a.ua)?a.mobile="Opera Mini":/IEMobile/i.test(a.ua)?a.mobile="IEMobile":/BB[0-9]{1,}; Touch/i.test(a.ua)?a.mobile="BlackBerry":/Nokia/i.test(a.ua)?a.mobile="Nokia":/Android/i.test(a.ua)&&(a.mobile="Android"),/MSIE|Trident/i.test(a.ua)?(a.browser="MSIE",a.version=/MSIE/i.test(navigator.userAgent)&&0<parseFloat(a.ua.split("MSIE")[1].replace(/[^0-9\.]/g,""))?parseFloat(a.ua.split("MSIE")[1].replace(/[^0-9\.]/g,"")):"Edge",/Trident/i.test(a.ua)&&/rv:([0-9]{1,}[\.0-9]{0,})/.test(a.ua)&&(a.version=parseFloat(a.ua.match(/rv:([0-9]{1,}[\.0-9]{0,})/)[1].replace(/[^0-9\.]/g,"")))):/Chrome/.test(a.ua)?(a.browser="Chrome",a.version=parseFloat(a.ua.split("Chrome/")[1].split("Safari")[0].replace(/[^0-9\.]/g,""))):/Opera/.test(a.ua)?(a.browser="Opera",a.version=parseFloat(a.ua.split("Version/")[1].replace(/[^0-9\.]/g,""))):/Kindle|Silk|KFTT|KFOT|KFJWA|KFJWI|KFSOWI|KFTHWA|KFTHWI|KFAPWA|KFAPWI/i.test(a.ua)?(a.mobile="Kindle",/Silk/i.test(a.ua)?(a.browser="Silk",a.version=parseFloat(a.ua.split("Silk/")[1].split("Safari")[0].replace(/[^0-9\.]/g,""))):/Kindle/i.test(a.ua)&&/Version/i.test(a.ua)&&(a.browser="Kindle",a.version=parseFloat(a.ua.split("Version/")[1].split("Safari")[0].replace(/[^0-9\.]/g,"")))):/BlackBerry/.test(a.ua)?(a.browser="BlackBerry",a.version=parseFloat(a.ua.split("/")[1].replace(/[^0-9\.]/g,""))):/PlayBook/.test(a.ua)?(a.browser="PlayBook",a.version=parseFloat(a.ua.split("Version/")[1].split("Safari")[0].replace(/[^0-9\.]/g,""))):/BB[0-9]{1,}; Touch/.test(a.ua)?(a.browser="Blackberry",a.version=parseFloat(a.ua.split("Version/")[1].split("Safari")[0].replace(/[^0-9\.]/g,""))):/Android/.test(a.ua)?(a.browser="Android",a.version=parseFloat(a.ua.split("Version/")[1].split("Safari")[0].replace(/[^0-9\.]/g,""))):/Safari/.test(a.ua)?(a.browser="Safari",a.version=parseFloat(a.ua.split("Version/")[1].split("Safari")[0].replace(/[^0-9\.]/g,""))):/Firefox/.test(a.ua)?(a.browser="Mozilla",a.version=parseFloat(a.ua.split("Firefox/")[1].replace(/[^0-9\.]/g,""))):/Nokia/.test(a.ua)&&(a.browser="Nokia",a.version=parseFloat(a.ua.split("Browser")[1].replace(/[^0-9\.]/g,""))));if(a.browser)for(var b in a.browserArray)a[a.browserArray[b].toLowerCase()]=a.browser==a.browserArray[b];$.extend(!0,$.browser={},a)}})(jQuery); 
 
/* - - - - - - - - - - - - - - - - - - - */ 
 

 
var b = $.browser; 
 
console.log($.browser); // see console, working example of jQuery Plugin 
 
console.log($.browser.chrome); 
 

 
for (var x in b) { 
 
    if (x != 'init') 
 
     $('<tr />').append(
 
      $('<th />', { text: x }), 
 
      $('<td />', { text: b[x] }) 
 
     ).appendTo($('table')); 
 
}
table { border-collapse: collapse; } 
 
th, td { border: 1px solid; padding: .25em .5em; vertical-align: top; } 
 
th { text-align: right; } 
 

 
textarea { height: 500px; width: 100%; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<table></table>

+0

a.browserArray [b] .toLowerCase()は、未定義のエラーをスローします。 .toLowerCase()を取り出すと、うまく動作します!とにかくありがとう。 –

+0

よくやった! –

0

あなたは、$ .browserのような非推奨の機能をサポートするためにjQuery.Migrateライブラリを使用することができます。

は、値がtypeof演算(jQuery.browser.msie)を介して定義されている場合https://github.com/jquery/jquery-migrate/#readme

関連する問題