jquery 高版本不支持browser

在jQuery 1.9及以上版本中,browser方法被移除导致一些功能如Autocomplete插件无法正常工作。解决方法包括在autocomplete.js内添加代码或者创建一个jQuery扩展来模拟browser方法。提供了一个名为jquery-browser.js的示例代码,适用于高版本jQuery,确保与Autocomplete插件兼容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决jQuery 高版本不支持browser方法

            前几篇的例子是在 jquery 版本1.7.1 下使用的都没问题,但最近在我们的项目中jquery版本换成了 1.9 ,运行后发现不能实现自动补全功能了。后来在网上找了很多资料,才发现 juqery Autocomplete 插件依赖于jquery 1.2.6 到 jquery 1.8.3 的版本,对于jquery1.9 以上的版本不支持,1.9以上的版本去掉了 browser方法,所以要想在jquery1.9 版本以上继续使用 autocomplete 插件,通过实践我找到两种解决方法,这两种方法都可以用,具体如下:

1.   autocomplete.js里面加代码

autocomplete.js 中,最上面增加   $.browser = navigator.userAgent; 即可.    如下图所示:


2. 利用 jquery 扩展性,创建一个 jquery-browser.js
可以利用的扩展性,创建一个高版本支持browser 的 JS,具体内容如下:

[javascript]  view plain  copy
 print ?
  1. /* 
  2.  * jQuery Autocomplete plugin 1.1 
  3.  * Revision: $Id: jquery-browser.js 15 2015-08-22 10:30:27Z joern.zaefferer $ 
  4.  */  
  5. jQuery.extend({    
  6.     browser: function()     
  7.     {    
  8.         var    
  9.         rwebkit = /(webkit)\/([\w.]+)/,    
  10.         ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,    
  11.         rmsie = /(msie) ([\w.]+)/,    
  12.         rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,        
  13.         browser = {},    
  14.         ua = window.navigator.userAgent,    
  15.         browserMatch = uaMatch(ua);    
  16.     
  17.         if (browserMatch.browser) {    
  18.             browser[browserMatch.browser] = true;    
  19.             browser.version = browserMatch.version;    
  20.         }    
  21.         return { browser: browser };    
  22.     },    
  23. });    
  24.     
  25. function uaMatch(ua)     
  26. {    
  27.         ua = ua.toLowerCase();    
  28.     
  29.         var match = rwebkit.exec(ua)    
  30.                     || ropera.exec(ua)    
  31.                     || rmsie.exec(ua)    
  32.                     || ua.indexOf("compatible") < 0 && rmozilla.exec(ua)    
  33.                     || [];    
  34.     
  35.         return {    
  36.             browser : match[1] || "",    
  37.             version : match[2] || "0"    
  38.         };    
  39. }    


使用时首先创建一个 jquery-browser.js文件,再将上面代码复制到这个JS文件中,使用时将jquery-browser.js引入到页面即可.

两个方法都已测试过,可以放心用,希望能对大家有帮助.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值