TypeError:$ .browser未定义
我正在使用msdropdown图像combobox创build下拉select选项。 当我在本地PC上运行这个代码时,一切都很好。 但是当我运行它爸爸的服务器上,msdropdown变得被禁用。
它不适用于任何浏览器。 Firebug将错误显示为:
TypeError: $.browser is undefined
请帮我解决一下这个。
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">LC</option> <option value="VT" data-image="image/msdropdown/icons/meet.png" data-description="Vishwanath temple">VT</option> <option value="HG" data-image="image/msdropdown/icons/meet.png" data-description="Hyderabaad Gate">HG</option> <option value="DG Corner" data-image="image/msdropdown/icons/meet.png" data-description="Dhanrajgiri Corner">DG 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;
这个问题已经解决: msdropdown更新并下载最新的文件。
感谢大家
只需把$ .browser代码放到你的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
已经从JQuery 1.9中移除。 您可以改为使用Modernizr项目
http://jquery.com/upgrade-guide/1.9/#jquery-browser-removed
更新支持IE 10和IE 11(TRIDENT版本)
要完成@ daniel.moura答案,这里是支持IE 11和+的版本
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)
我在我的代码中放置了下面的html,这清除了$ .browser错误
<script src="jquery-migrate-1.0.0.js"></script>
希望这有助于你
$()生活(函数(){}); 和jQuery.browser未定义在jQuery 1.9.0中 – $ .browser已被弃用jQuery更新
听起来像你在godaddy中使用不同版本的jquery 1.9,所以要么改变你的代码,要么包含migrate插件jquery-migrate-1.0.0.js
用以下代替你的jquery文件:
<script src="jquery-1.11.3.min.js"></script> <script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
我用下面指定的jQuery迁移链接解决了它:
<script src="jquery-migrate-1.0.0.js"></script>
某处代码(无论是您的代码还是一个jQuery插件)正在调用$.browser
来获取当前的浏览器types。
不过,早年已经不再使用$.browser
函数了 。 从那时起,一些错误已经被提交,但是因为它被弃用,jQuery团队决定不修复它们。 我决定不依赖于这个function。
我在代码中没有看到任何对$.browser
引用,所以问题可能在于你的插件之一。 要find它,请查看使用<script>
标记引用的每个插件的源代码。
至于如何解决这个问题:好吧,这取决于上下文。 例如,也许有问题插件的更新版本。 或者,也许你可以使用另一个类似的插件,但不依赖于$.browser
。
我解决了使用这个jQuery的Github
<script src="jquery-migrate-1.0.0.js"></script>
请参阅此链接了解更多信息。 https://github.com/Studio-42/elFinder/issues/469