Jquery 1.9.0 以上版本 $.browser未定义
来源:互联网 发布:如何用php打开文件夹 编辑:程序博客网 时间:2024/06/02 05:41
由于jQuery 1.9.0 以上版本jquery去掉了对 $.browser 的支持,采用$.support 来判断浏览器类型。导致之前的很多插件报错
"Uncaught TypeError: Cannot read property 'msie' of undefined".
网上有很多解决办法如:
判断浏览器类型:
- <span style="white-space:pre"> </span>$.browser.mozilla = /firefox/.test(navigator.userAgent.toLowerCase());
- $.browser.webkit = /webkit/.test(navigator.userAgent.toLowerCase());
- $.browser.opera = /opera/.test(navigator.userAgent.toLowerCase());
- $.browser.msie = /msie/.test(navigator.userAgent.toLowerCase());
号后面的表达式返回的就是 true/false, 可以直接用来替换原来的 $.browser.msie 等。
检查是否为 IE6:
// Old
- <span style="white-space:pre"> </span>if ($.browser.msie && 7 > $.browser.version) {}
- <span style="white-space:pre"> </span>if ('undefined' == typeof(document.body.style.maxHeight)) {}
- <span style="white-space:pre"> </span>if (!$.support.leadingWhitespace) {}
**************************************************************************
下面 我们采取的思路是 使用jquery的继承机制 对jquery 1.11.1版本 进行扩展 使其支持 $.browser 方法,已达到兼容之前组件的目的.
- jQuery.extend({
- browser: function()
- {
- var
- rwebkit = /(webkit)\/([\w.]+)/,
- ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,
- rmsie = /(msie) ([\w.]+)/,
- rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,
- browser = {},
- ua = window.navigator.userAgent,
- browserMatch = uaMatch(ua);
- if (browserMatch.browser) {
- browser[browserMatch.browser] = true;
- browser.version = browserMatch.version;
- }
- return { browser: browser };
- },
- });
- function uaMatch(ua)
- {
- ua = ua.toLowerCase();
- var match = rwebkit.exec(ua)
- || ropera.exec(ua)
- || rmsie.exec(ua)
- || ua.indexOf("compatible") < 0 && rmozilla.exec(ua)
- || [];
- return {
- browser : match[1] || "",
- version : match[2] || "0"
- };
- }
阅读全文
0 0
- Jquery 1.9.0 以上版本 $.browser未定义
- Jquery 1.9.0 以上版本 扩展使用 $.browser 方法
- Jquery 1.9.0 以上版本 扩展使用 $.browser 方法 改编版
- Jquery 1.9.0 以上版本扩展$.browser无法使用的问题
- jquery 1.9以上版本 获取浏览器类型
- jquery 高版本不支持browser
- jQuery 1.9不支持$.browser 怎么判断浏览器类型和版本
- jQuery 1.9不支持$.browser 怎么判断浏览器类型和版本
- 解决IE10以上版本doPostBack未定义,点击无响应问题
- jQuery.browser.version 获取浏览器版本
- jQuery的$.browser的版本兼容问题
- jquery 1.9以上版本中使pngFix支持PNG透明
- jquery中的live在1.9版本以上失效的解决办法
- JQuery 1.9版本以上的浏览器判断方法
- 用jquery实现全选/全部选功能(jquery-1.9.x 版本以上),使用 prop 属性
- MyEclipse7.0以上版本优化
- Android5.0以上版本对比
- checkbox在jquery版本1.9 以上用attr不可重复操作的问题【附解决方案】
- 排序算法——简单选择排序
- 利用Java 8 Optional 来进行null处理
- Java中实现多线程有两种方法的区别:继承Thread类、实现Runnable接口
- 释放linux的内存
- android的popwindow控件,及控件设为圆角
- Jquery 1.9.0 以上版本 $.browser未定义
- idea常用插件
- 了解Latch建议去看vage写的一系列本版精华贴
- hbase 源代码分析(6)get 过程 详解
- Pandas matplotlib 无法显示中文
- 将字符串中的多个连在一起的空格变成单个空格
- android apk安装过程源码解析
- 利用python内置函数,快速统计单词在文本中出现的次数
- 树莓派上搭建家用文件共享服务器