TypeError: $.browser is undefined
Solution 1
just put the $.browser code in your js
var matched, browser;
jQuery.uaMatch = function( ua ) {
ua = ua.toLowerCase();
var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
/(webkit)[ \/]([\w.]+)/.exec( ua ) ||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
/(msie) ([\w.]+)/.exec( ua ) ||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
[];
return {
browser: match[ 1 ] || "",
version: match[ 2 ] || "0"
};
};
matched = jQuery.uaMatch( navigator.userAgent );
browser = {};
if ( matched.browser ) {
browser[ matched.browser ] = true;
browser.version = matched.version;
}
// Chrome is Webkit, but Webkit is also Safari.
if ( browser.chrome ) {
browser.webkit = true;
} else if ( browser.webkit ) {
browser.safari = true;
}
jQuery.browser = browser;
Solution 2
$.browser
has been removed from JQuery 1.9. You can to use Modernizr project instead
http://jquery.com/upgrade-guide/1.9/#jquery-browser-removed
UPDATE TO SUPPORT IE 10 AND IE 11 (TRIDENT version)
To complete the @daniel.moura answer, here is a version which support IE 11 and +
var matched, browser;
jQuery.uaMatch = function( ua ) {
ua = ua.toLowerCase();
var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
/(webkit)[ \/]([\w.]+)/.exec( ua ) ||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
/(msie)[\s?]([\w.]+)/.exec( ua ) ||
/(trident)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
[];
return {
browser: match[ 1 ] || "",
version: match[ 2 ] || "0"
};
};
matched = jQuery.uaMatch( navigator.userAgent );
//IE 11+ fix (Trident)
matched.browser = matched.browser == 'trident' ? 'msie' : matched.browser;
browser = {};
if ( matched.browser ) {
browser[ matched.browser ] = true;
browser.version = matched.version;
}
// Chrome is Webkit, but Webkit is also Safari.
if ( browser.chrome ) {
browser.webkit = true;
} else if ( browser.webkit ) {
browser.safari = true;
}
jQuery.browser = browser;
// log removed - adds an extra dependency
//log(jQuery.browser)
Solution 3
Just include this script
http://code.jquery.com/jquery-migrate-1.0.0.js
after you include your jquery javascript file.
Solution 4
I placed the following html in my code and this cleared up the $.browser error
<script src="http://code.jquery.com/jquery-migrate-1.0.0.js"></script>
Hope this helps u
Solution 5
Replace your jquery files with followings :
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
user1972934
Updated on July 05, 2022Comments
-
user1972934 almost 2 years
I am using msdropdown image combo box to create dropdown select options. when i run this code locally on my PC, everything works great. But when i run it on go daddy servers, the msdropdown becomes disabled.
It doesn't work on any browsers. Firebug displays the error as:
TypeError: $.browser is undefined
Please help me with this.
echo <<<_START <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>profile</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> <meta name="generator" content="HAPedit 3.1"> <link rel="stylesheet" href="profile.css" type="text/css"> <link rel="stylesheet" type="text/css" href="dd.css" /> <link rel="stylesheet" href="javascript/jquery-ui.css" /> <script src="http://code.jquery.com/jquery-1.9.0.js"></script> <script src="http://code.jquery.com/jquery-migrate-1.1.0.js"></script> <script type="text/javascript" src="jQuery.js"></script> <script src="javascript/jquery-ui.js"></script> <script type="text/javascript" src="javascript/drop.js"></script> <script src="jquery.dd.min.js"></script> <script type="text/javascript" src="jquery.blockUI3.js"></script> <script type="text/javascript" src="javascript/req.js"></script> <link rel="stylesheet" href="css/body.css" /> <script> $(function() { $( "#datepicker" ).datepicker({dateFormat: 'dd-mm-yy', minDate: 0, maxDate: "+0M +5D" }); }); </script> <script type="text/javascript"> <!-- function otherSelect() { var other = document.getElementById("otherBox"); if (document.getElementById("form3").place.options[document.getElementById("form3").place.selectedIndex].value == "other") { other.style.visibility = "visible"; } else { other.style.visibility = "hidden"; } } //--> </script> </head> <body id="body"> <div id="container"> <div class="header"> <a href="profile.php" class="logo"> <img title="Title" alt="Alter" src="images/logo.png" border="0" height="60px" width="200px"> </a> <a style="text-decoration:none; margin-top:15px; font-family:Bookman Old Style; font-size:12px; color:#FFFFFF; font-weight:bold;" href="logout.php?id='$session_id'" class="req"> Logout </a> <a href="notification.php?email='$encrypted_string'" class="req1"> <img border="0" title="Notifications" alt="Notifications" src="images/notification.png" height="60px" width="60px"><div class="text1">$numbr</div> </a> <a href="request.php?email='$encrypted_string'" class="req2"> <img border="0" title="requests" alt="Requests" src="images/request.png" height="60px" width="60px"><div class="text">$req</div> </a> </div> <div id="navigation"> <div id="picture"><img src="$img"> <h1 id="display" style="margin-left:30px;">$name</h1><hr> <table style="background-color:#81F781;font-family:Chaparral Pro,corbel; font- size:17px; color:#1C1C1C; width:100%;" border="1" cellpadding="25"> <tr><th>Requests($n)</th></tr></table> </div> </div></div> <div style="margin-top: 90px;" id="conte"> _START; echo <<<_START </div> <div id="accept" style="display:none"> <form method="post" id="form3" action="cnfrm.php"> <br><table border="0" style="width:100%;" cellspacing="4" cellpadding="4"><tr> <td style="font-family:Chaparral Pro,corbel; font-size:17px; color:#1C1C1C;">Meeting Date: <input type="text" id="datepicker" name="date"/></td> <td style="font-family:Chaparral Pro,corbel; font-size:17px; color:#1C1C1C;">@ about<input type="text" id="time" size="3">AM<input type="radio" name="time2" id="time2" value="am"> | PM<input type="radio" name="time2" id="time2" value="pm"></td></tr> _START; echo <<<H <tr><td valign="top" rowspan="2"> <select id="place" name="place" style="width:300px;" onchange="otherSelect()"> <option value="" data-description="Choose your meeting place" selected="selected">Meet me @</option> <option value="LC" data-image="image/msdropdown/icons/meet.png" data-description="Limbdi Corner">L.C</option> <option value="VT" data-image="image/msdropdown/icons/meet.png" data-description="Vishwanath temple">V.T</option> <option value="H.G" data-image="image/msdropdown/icons/meet.png" data-description="Hyderabaad Gate">H.G</option> <option value="D.G Corner" data-image="image/msdropdown/icons/meet.png" data-description="Dhanrajgiri Corner">D.G corner</option> <option value="Library" data-image="image/msdropdown/icons/meet.png" data-description="IIT Library">Library</option> <option value="other" data-image="image/msdropdown/icons/meet.png" data-description="Add your own...">Other place</option> </select> </td></tr> H;
This problem has been solved:msdropdown update and download the latest files.
Thanks everyone
-
IanO.S. over 11 yearswhat version of jquery are you using
-
Rory McCrossan over 11 yearsOP your code doesn't seem to have
$.browser
in it, so I assume its in one of your plugins. -
user1972934 over 11 yearsjquery 1.9.0...however i shifted to JQuery 1.8.3 just for test purpose. Now the error is not shown. But still the dropdown is disabled
-
Cristina Cristea over 10 yearsI just inserted this script too: code.jquery.com/jquery-migrate-1.2.1.js and it worked perfectly.
-
-
Rory McCrossan over 11 yearsOr instead of modernizr, possibly question why you need browser sniffing in the first place.
-
user1972934 over 11 yearsI added the migrate plugin. But still the problem exists
-
user1972934 over 11 yearsI added the migrate plugin. But still the problem exists
-
user1972934 over 11 yearsit's not in the home page... and for logging in, you need a specific domain id. So you wont be able to see the problem
-
sdespont over 11 yearsThe migrate plugin is only useful to detect removed or depreceted functions, it will not fix your problem. What is your JQuery version?
-
IanO.S. over 11 yearscurious, if you try loading jquery 1.8 code.jquery.com/jquery-1.8.0.js , does it fix it, or is it a different issue causing the menu not to load
-
user1972934 over 11 yearsi shifted to JQuery 1.8.3 just for test purpose. Now the error is not shown. But still the dropdown is disabled
-
user1972934 over 11 yearsI tried using jquery 1.8.3. The error is not shown, however the dropdown still remains disabled
-
IanO.S. over 11 yearsSo its not related to "$.browser is undefined!" looks like you need to look for a different issue for fixing the menu
-
ftdeveloper over 10 yearsThanks daniel. You saved my problem.
-
Rick Slinkman over 10 yearsjQuery.browser (or $.browser) has been deprecated since version 1.3 and has been removed since version 1.9. This fix works for me though!
-
iyal almost 9 yearsI don't know from where you got this idea and the code, but it saves my life. Thank you for the great mind!!!
-
Davi Lima over 8 years@iyal this code comes from an older version of code.jquery.com/jquery-migrate-1.2.1.js
-
DiMono over 7 yearsThanks, this is significantly better than loading an entire library just for one function.
-
behkod almost 7 yearsWorked Like a charm!
-
Shwet almost 7 yearsThank you very much. After almost 5-6 hours of trying I fixed my issue with this.
-
loved.by.Jesus about 2 yearsI certainly got the error in Wordpress, and your recommended plugin patched the problem. Thanks for posting!