useragent support navegador name migratemute identificar jquery jquery-blockui

jquery - support - TypeError: $.browser no está definido



jquery support browser (9)

Coloqué el siguiente código HTML en mi código y esto borró el error $ .browser

<script src="http://code.jquery.com/jquery-migrate-1.0.0.js"></script>

Espero que esto te ayude

Estoy utilizando el cuadro combinado de imagen de caída de imagen para crear opciones de selección desplegable. Cuando ejecuto este código localmente en mi PC, todo funciona muy bien. Pero cuando lo ejecuto en los servidores de Go Daddy, el msdropdown se desactiva.

No funciona en ningún navegador. Firebug muestra el error como:

TypeError: $.browser is undefined

Por favor, ayúdame con esto.

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;

Este problema se ha resuelto: msdropdown actualiza y descarga los últimos archivos.

Gracias a todos


En algún lugar, el código, ya sea su código o un complemento de jQuery, está llamando a $.browser para obtener el tipo de navegador actual.

Sin embargo, a principios de año, la función $.browser estaba en desuso . Desde entonces, se han presentado algunos errores en su contra, pero debido a que está en desuso, el equipo de jQuery ha decidido no corregirlos. He decidido no confiar en la función en absoluto.

No veo ninguna referencia a $.browser en su código, por lo que el problema probablemente reside en uno de sus complementos. Para encontrarlo, mire el código fuente de cada complemento al que hizo referencia con una etiqueta <script> .

En cuanto a cómo solucionarlo: bueno, depende del contexto. Por ejemplo, tal vez haya una versión actualizada del plugin problemático. O quizás puede usar otro complemento que haga algo similar pero que no dependa de $.browser .


Lo resolví usando el enlace de migración jQuery especificado a continuación:

<script src="http://code.jquery.com/jquery-migrate-1.0.0.js"></script>


Reemplace sus archivos jquery con lo siguiente:

<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>




simplemente ponga el código $ .browser en su 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;



$.browser ha sido eliminado de JQuery 1.9. Puedes usar el proyecto Modernizr lugar

http://jquery.com/upgrade-guide/1.9/#jquery-browser-removed

ACTUALIZACIÓN PARA APOYAR IE 10 Y IE 11 (versión TRIDENT)

Para completar la respuesta de @ daniel.moura, aquí hay una versión que admite IE 11 y +

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)