zoukankan      html  css  js  c++  java
  • Uncaught TypeError: Cannot read property 'msie' of undefined

    1、错误描述

    Uncaught TypeError: Cannot read property 'msie' of undefined
    TypeError: a.browser is undefined


    2、错误原因

    (function(a){
    	a.alerts={verticalOffset:-75,horizontalOffset:0,repositionOnResize:true,overlayOpacity:1,overlayColor:"rgba(0, 0, 0, 0.25) none repeat scroll 0 0",draggable:true,okButton:" u786eu5b9a ",cancelButton:" u53d6u6d88 ",dialogClass:null,alert:function(b,c,d){if(c==null){c="u63d0u793a"}a.alerts._show(c,b,null,"alert",function(e){if(d){d(e)}},null,null,null,null)},
    			confirm:function(b,c,d){
    				if(c==null){c="u8bf7u786eu8ba4"}
    				a.alerts._show(c,b,null,"confirm",function(e){
    					if(d){d(e)}},null,null,null,null)},
    					prompt:function(b,c,d,e){
    						if(d==null){d="u8bf7u586bu5199"}
    						a.alerts._show(d,b,c,"prompt",function(f){
    							if(e){e(f)}},null,null,null,null)},
    							openBox:function(f,g,b,c,e,d,i){
    								if(g==null){g="u63d0u793a"}
    a.alerts._show(g,f,null,"openBox",function(h){
    if(i){i(h)}},b,c,e,d)},
    overAlert:function(c,b){
    a.alerts._overShow(c,b)},
    _overShow:function(d,c){
    if(c==null){c=3000}
    var b=c+600;
    a("body").append('<div id="over_container" style="display:none"><div id="over_message"></div></div>');a("#over_message").text(d).html(a("#over_message").text().replace(/
    /g,"<br />"));
    if(a.alerts.dialogClass){
    	a("#over_container").addClass(a.alerts.dialogClass)}
    var e=(a.browser.msie&&parseInt(a.browser.version)<=6)?"absolute":"fixed";
    a("#over_container").css({position:e,zIndex:99999,350,padding:0,margin:0}).show("fast");
    a("#over_container").css({minWidth:a("#over_container").outerWidth(),maxWidth:a("#over_container").outerWidth()});
    a.alerts._overReposition();
    setTimeout(function(){a("#over_container").hide("fast")},c);
    setTimeout(function(){a("#over_container").remove()},b)},
    _overReposition:function(){
    	var c=4;
    	var b=((a(window).width()/2)-(a("#over_container").outerWidth()/2))+a.alerts.horizontalOffset;
    		if(c<0){c=0}if(b<0){b=0}if(a.browser.msie&&parseInt(a.browser.version)<=6){c=c+a(window).scrollTop()}
    if(a.browser.msie&&parseInt(a.browser.version)<=6){b=b-175}
    a("#over_container").css({top:200+"px",left:b+"px"});
    a("#popup_overlay").height(a(document).height())},_show:
    	function(j,b,k,g,m,l,c,f,n){
    	a.alerts._hide();
    	a.alerts._overlay("show");
    	a("body").append('<div id="popup_container" style="display:none"><h1 id="popup_title"></h1><em id="ctl"></em><em id="cbl"></em><em id="ctr"></em><em id="cbr"></em><span id="popup_close"></span><div id="popup_content"><div id="popup_message"></div></div></div>');
    	if(a.alerts.dialogClass){
    		a("#popup_container").addClass(a.alerts.dialogClass)}var i=(a.browser.msie&&parseInt(a.browser.version)<=6)?"absolute":"fixed";a("#popup_container").css({position:i,zIndex:99999,padding:0,margin:0}).fadeIn("fast");a("#popup_title").text(j);
    		a("#popup_content").addClass(g);if(g!="openBox"){
    			a("#popup_message").text(b).html(
    					a("#popup_message").text().replace(/
    /g,"<br />"))}
    		a("#popup_container").css({});a.alerts._reposition();a.alerts._maintainPosition(true);
    switch(g){
    case"alert":a("#popup_message").after('<div id="popup_panel"><input type="button" class="btn"   value="'+a.alerts.okButton+'" id="popup_ok" /></div>');
    			a("#popup_ok").click(function(){a.alerts._hide();m(true)});
    			a("#popup_ok").focus().keypress(function(h){
    				if(h.keyCode==13||h.keyCode==27){
    					a("#popup_ok").trigger("click")
    				}
    				});
    				break;
    case"confirm":
    	a("#popup_message").after('<div id="popup_panel"><input type="button" class="btn" value="'+a.alerts.okButton+'" id="popup_ok" /><span style="margin:5px"></span><input type="button" class="btn" value="'+a.alerts.cancelButton+'" id="popup_cancel" /></div>');a("#popup_ok").click(function(){a.alerts._hide();if(m){m(true)}});
    	a("#popup_cancel").click(function(){a.alerts._hide();if(m){m(false)}});
    	a("#popup_ok").focus();
    	a("#popup_ok, #popup_cancel").keypress(function(h){
    		if(h.keyCode==13){a("#popup_ok").trigger("click")}
    		if(h.keyCode==27){a("#popup_cancel").trigger("click")}});
    		break;
    case"prompt":
    	a("#popup_message").append('<br /><input type="text" size="30" id="popup_prompt" />').after('<div id="popup_panel"><input type="button" value="'+a.alerts.okButton+'" id="popup_ok" /><input type="button" value="'+a.alerts.cancelButton+'" id="popup_cancel" /></div>');a("#popup_prompt").width(a("#popup_message").width()-10);
    	a("#popup_ok").click(function(){var e=a("#popup_prompt").val();a.alerts._hide();if(m){m(e)}});
    	a("#popup_cancel").click(function(){a.alerts._hide();if(m){m(null)}});
    	a("#popup_prompt, #popup_ok, #popup_cancel").keypress(function(h){if(h.keyCode==13){a("#popup_ok").trigger("click")}if(h.keyCode==27){a("#popup_cancel").trigger("click")}});
    	if(k){a("#popup_prompt").val(k)}a("#popup_prompt").focus().select();break;case"openBox":a("#popup_message").append(a(b).html());if(l){a("#popup_container").css({l+"px"})}if(c){a("#popup_container").css({height:c+"px"});a("#popup_message").css({height:(c-48)+"px"})}a.alerts._reposition();
    if(f){a(f).click(function(){a.alerts._hide();if(m){m(true)}})}if(n){a(n).click(function(){a.alerts._hide();return false;if(m){m(false)}})}break}a("#popup_close").click(function(){a.alerts._hide();if(m){m(false)}});
    if(a.alerts.draggable){try{a("#popup_container").draggable({handle:a("#popup_title")});
    a("#popup_title").css({cursor:"move"})}catch(d){}}},_hide:function(){a("#popup_container").remove();a.alerts._overlay("hide");a.alerts._maintainPosition(false)},_overlay:function(b){switch(b){case"show":a.alerts._overlay("hide");a("BODY").append('<div id="popup_overlay"></div>');
    a("#popup_overlay").css({position:"absolute",zIndex:99998,top:"0px",left:"0px","100%",height:a(document).height(),background:a.alerts.overlayColor,opacity:a.alerts.overlayOpacity});break;case"hide":a("#popup_overlay").remove();break}},_reposition:function(){var c=((a(window).height()/2)-(a("#popup_container").height()/2))+a.alerts.verticalOffset;
    var b=((a(window).width()/2)-(a("#popup_container").width()/2))+a.alerts.horizontalOffset;
    if(c<0){c=0}if(b<0){b=0}
    if(a.browser.msie&&parseInt(a.browser.version)<=6){c=c+a(window).scrollTop()}
    a("#popup_container").css({top:c+"px",left:b+"px"});
    a("#popup_overlay").height(a(document).height())},
    _maintainPosition:function(b){
    	if(a.alerts.repositionOnResize){
    		switch(b){
    		case true:a(window).bind("resize",a.alerts._reposition);break;
    		case false:a(window).unbind("resize",a.alerts._reposition);break}}}
    	};
    hiAlert=function(b,c,d){a.alerts.alert(b,c,d)};
    hiConfirm=function(b,c,d){a.alerts.confirm(b,c,d)};
    hiPrompt=function(b,c,d,e){a.alerts.prompt(b,c,d,e)};
    hiBox=function(f,g,b,c,e,d,i){a.alerts.openBox(f,g,b,c,e,d,i)};
    hiOverAlert=function(c,b){a.alerts.overAlert(c,b)}})(jQuery);
    
    代码中的下面代码出现报错

    var i=(a.browser.msie&&parseInt(a.browser.version)<=6)?"absolute":"fixed";a("#popup_container").css({position:i,zIndex:99999,padding:0,margin:0}).fadeIn("fast");a("#popup_title").text(j);
           错误原因是:jquery-1.9.1.min.js去掉了$.browser方法


    3、解决办法

         将以下代码新建一个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); 


  • 相关阅读:
    Oracle 获取创建控制文件的脚本
    ESXi下误删磁盘分区
    Oracle 3DES加密示例
    Oracle job 执行多个存储过程
    解开紧箍咒
    国际关系之美国南海战略意图(转)
    GHOST系统锁定主页常用软件及解决方案
    cut命令详解
    grep命令详解
    awk命令详解
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13313839.html
Copyright © 2011-2022 走看看