文档章节

jquery.Jcrop中解决jQuery不支持$.browser的办法

40岁的青春
 40岁的青春
发布于 2015/04/07 15:48
字数 308
阅读 362
收藏 0

在使用jquery.Jcrop的过程中,出现:

TypeError: $.browser is undefined
opt.trackDocument = $.browser.msie ? false : true;

由于使用的是jquery-1.11.2.min.js,不支持browser对象。


解决方案

在jquery.Jcrop.js的源码最下面直接加上下面这段代码:


(function(jQuery){


if(jQuery.browser) return;


jQuery.browser = {};
jQuery.browser.mozilla = false;
jQuery.browser.webkit = false;
jQuery.browser.opera = false;
jQuery.browser.msie = false;


var nAgt = navigator.userAgent;
jQuery.browser.name = navigator.appName;
jQuery.browser.fullVersion = ''+parseFloat(navigator.appVersion);
jQuery.browser.majorVersion = parseInt(navigator.appVersion,10);
var nameOffset,verOffset,ix;


// In Opera, the true version is after "Opera" or after "Version"
if ((verOffset=nAgt.indexOf("Opera"))!=-1) {
jQuery.browser.opera = true;
jQuery.browser.name = "Opera";
jQuery.browser.fullVersion = nAgt.substring(verOffset+6);
if ((verOffset=nAgt.indexOf("Version"))!=-1)
jQuery.browser.fullVersion = nAgt.substring(verOffset+8);
}
// In MSIE, the true version is after "MSIE" in userAgent
else if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
jQuery.browser.msie = true;
jQuery.browser.name = "Microsoft Internet Explorer";
jQuery.browser.fullVersion = nAgt.substring(verOffset+5);
}
// In Chrome, the true version is after "Chrome"
else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) {
jQuery.browser.webkit = true;
jQuery.browser.name = "Chrome";
jQuery.browser.fullVersion = nAgt.substring(verOffset+7);
}
// In Safari, the true version is after "Safari" or after "Version"
else if ((verOffset=nAgt.indexOf("Safari"))!=-1) {
jQuery.browser.webkit = true;
jQuery.browser.name = "Safari";
jQuery.browser.fullVersion = nAgt.substring(verOffset+7);
if ((verOffset=nAgt.indexOf("Version"))!=-1)
jQuery.browser.fullVersion = nAgt.substring(verOffset+8);
}
// In Firefox, the true version is after "Firefox"
else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) {
jQuery.browser.mozilla = true;
jQuery.browser.name = "Firefox";
jQuery.browser.fullVersion = nAgt.substring(verOffset+8);
}
// In most other browsers, "name/version" is at the end of userAgent
else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) <
(verOffset=nAgt.lastIndexOf('/')) )
{
jQuery.browser.name = nAgt.substring(nameOffset,verOffset);
jQuery.browser.fullVersion = nAgt.substring(verOffset+1);
if (jQuery.browser.name.toLowerCase()==jQuery.browser.name.toUpperCase()) {
jQuery.browser.name = navigator.appName;
}
}
// trim the fullVersion string at semicolon/space if present
if ((ix=jQuery.browser.fullVersion.indexOf(";"))!=-1)
jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix);
if ((ix=jQuery.browser.fullVersion.indexOf(" "))!=-1)
jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix);


jQuery.browser.majorVersion = parseInt(''+jQuery.browser.fullVersion,10);
if (isNaN(jQuery.browser.majorVersion)) {
jQuery.browser.fullVersion = ''+parseFloat(navigator.appVersion);
jQuery.browser.majorVersion = parseInt(navigator.appVersion,10);
}
jQuery.browser.version = jQuery.browser.majorVersion;
})(jQuery);


© 著作权归作者所有

共有 人打赏支持
40岁的青春
粉丝 2
博文 71
码字总数 13985
作品 0
朝阳
解决input中placeholder值在ie中无法支持的问题

终于知道为什么IE不招人喜欢了,不招程序员喜欢,搞个东西,其他浏览器都好使,就尼玛IE事多,连placeholder都不支持。蛋疼,偏偏这 玩意用户量不容忽视。只好满网找解决方案,其实自己也能用...

憨科
2014/02/27
0
0
Visual Studio下使用jQuery的10个技巧

【51CTO经典译文】广泛流行的jQuery是一个开源的,跨浏览器和兼容CSS 3的JavaScript库,你可以用它简化你的JavaScript编码任务和操作(添加,编辑和删除)HTML内容中的DOM元素,本文介绍10个...

晨曦之光
2012/03/09
0
0
jQuery下通过$.browser来判断浏览器

$.browser.['浏览器关键字'] $(function(){if($.browser.msie) { }else if($.browser.safari){ }else if($.browser.mozilla){ }else if($.browser.opera) { }else{ }});看一下jQuery的源码:......

mj4738
2013/06/25
0
0
web开发之浏览器(二)----JQuery或JS判断浏览器内核版本号以及是否支持W3C盒子模型

效果:http://oospace.sinaapp.com/3.php 1,JQuery或JS判断浏览器内核版本号以及是否支持W3C盒子模型 jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.su...

Oo-Space
2014/12/24
0
0
jQuery UI datepicker 日期控件出现问号的解决方式

jQuery-ui的datepicker做得很不错,在项目中经常用到,但对其老是在界面上出现 “?” 感觉很不爽。出现的位置在顶部年和月之间,还有空的日期单元格。 这个问题困扰了我很长时间,一直想解决...

Chiroc
2012/09/20
0
2

没有更多内容

加载失败,请刷新页面

加载更多

Java并发编程:volatile关键字解析

volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生...

engeue
5分钟前
0
0
php-fpm配置文件详解

第一部分:FPM 配置 参数          | 说明 -p            | 命令行中动态修改--prefix   ;include=etc/fpm.d/*.conf  | 用于包含一个或多个文件,如果glob(3)存在(...

bengozhong
6分钟前
0
0
Django允许外部ip访问

1、关闭防火墙 service iptables stop 2、设置django 开启django时,使用0.0.0.0:xxxx,作为ip和端口例如: python manage.py runserver 0.0.0.0:9000 3、在settings里修改ALLOWED_HOSTS = [......

MichaelShu
10分钟前
0
0
机器学习在客户管理场景中的应用

使用机器学习进行客户管理,我们可以得到客户360度全方位的视图。 本文以SAP Cloud for Customer的客户管理应用为例,介绍机器学习是如何同传统的客户管理应用进行集成的。 打开SAP C4C的客户...

JerryWang_SAP
16分钟前
0
0
ftp链接ubuntu虚拟机

1.在主机上安装Xftp 5 2.在虚拟机中输入: sudo apt-get install vsftpd 3.打开 /etc/vsftpd.conf修改如下变量 listen=YES anonymous_enable=YES local_enable=YES write_enable=yes local_......

15834278076
21分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部