使用jquery插件报错:TypeError:$.browser is undefined的解决方法

发布时间:2016-06-21 17:53:31编辑:丝画阁阅读(275)

关于$.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 plain copy 在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中引入即可



http://blog.csdn.net/zwx19921215/article/details/43561249

关键字