使用jquery插件報錯:TypeError:$.browser is undefined的解決方法

關於$.browser

browser就是用來獲取瀏覽器基本信息的。

jQuery 從 1.9 版開始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。 在更新的 2.0 版本中,將不再支持 IE 6/7/8。 以後,如果用戶需要支持 IE 6/7/8,只能使用 jQuery 1.9。

解決方法

加入以下js即可
[javascript] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. (function(jQuery){   
  2.   
  3. if(jQuery.browser) return;   
  4.   
  5. jQuery.browser = {};   
  6. jQuery.browser.mozilla = false;   
  7. jQuery.browser.webkit = false;   
  8. jQuery.browser.opera = false;   
  9. jQuery.browser.msie = false;   
  10.   
  11. var nAgt = navigator.userAgent;   
  12. jQuery.browser.name = navigator.appName;   
  13. jQuery.browser.fullVersion = ''+parseFloat(navigator.appVersion);   
  14. jQuery.browser.majorVersion = parseInt(navigator.appVersion,10);   
  15. var nameOffset,verOffset,ix;   
  16.   
  17. // In Opera, the true version is after "Opera" or after "Version"   
  18. if ((verOffset=nAgt.indexOf("Opera"))!=-1) {   
  19. jQuery.browser.opera = true;   
  20. jQuery.browser.name = "Opera";   
  21. jQuery.browser.fullVersion = nAgt.substring(verOffset+6);   
  22. if ((verOffset=nAgt.indexOf("Version"))!=-1)   
  23. jQuery.browser.fullVersion = nAgt.substring(verOffset+8);   
  24. }   
  25. // In MSIE, the true version is after "MSIE" in userAgent   
  26. else if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {   
  27. jQuery.browser.msie = true;   
  28. jQuery.browser.name = "Microsoft Internet Explorer";   
  29. jQuery.browser.fullVersion = nAgt.substring(verOffset+5);   
  30. }   
  31. // In Chrome, the true version is after "Chrome"   
  32. else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) {   
  33. jQuery.browser.webkit = true;   
  34. jQuery.browser.name = "Chrome";   
  35. jQuery.browser.fullVersion = nAgt.substring(verOffset+7);   
  36. }   
  37. // In Safari, the true version is after "Safari" or after "Version"   
  38. else if ((verOffset=nAgt.indexOf("Safari"))!=-1) {   
  39. jQuery.browser.webkit = true;   
  40. jQuery.browser.name = "Safari";   
  41. jQuery.browser.fullVersion = nAgt.substring(verOffset+7);   
  42. if ((verOffset=nAgt.indexOf("Version"))!=-1)   
  43. jQuery.browser.fullVersion = nAgt.substring(verOffset+8);   
  44. }   
  45. // In Firefox, the true version is after "Firefox"   
  46. else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) {   
  47. jQuery.browser.mozilla = true;   
  48. jQuery.browser.name = "Firefox";   
  49. jQuery.browser.fullVersion = nAgt.substring(verOffset+8);   
  50. }   
  51. // In most other browsers, "name/version" is at the end of userAgent   
  52. else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) <   
  53. (verOffset=nAgt.lastIndexOf('/')) )   
  54. {   
  55. jQuery.browser.name = nAgt.substring(nameOffset,verOffset);   
  56. jQuery.browser.fullVersion = nAgt.substring(verOffset+1);   
  57. if (jQuery.browser.name.toLowerCase()==jQuery.browser.name.toUpperCase()) {   
  58. jQuery.browser.name = navigator.appName;   
  59. }   
  60. }   
  61. // trim the fullVersion string at semicolon/space if present   
  62. if ((ix=jQuery.browser.fullVersion.indexOf(";"))!=-1)   
  63. jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix);   
  64. if ((ix=jQuery.browser.fullVersion.indexOf(" "))!=-1)   
  65. jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix);   
  66.   
  67. jQuery.browser.majorVersion = parseInt(''+jQuery.browser.fullVersion,10);   
  68. if (isNaN(jQuery.browser.majorVersion)) {   
  69. jQuery.browser.fullVersion = ''+parseFloat(navigator.appVersion);   
  70. jQuery.browser.majorVersion = parseInt(navigator.appVersion,10);   
  71. }   
  72. jQuery.browser.version = jQuery.browser.majorVersion;   
  73. })(jQuery);   

將以上js另存爲browser.js然後在jsp中引入即可
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章