Jquery TypeError:$。未定义浏览器

Jquery TypeError:$。未定义浏览器,jquery,jquery-blockui,Jquery,Jquery Blockui,我正在使用msdropdown图像组合框创建下拉选择选项。 当我在电脑上本地运行这段代码时,一切都很好。但当我在go daddy服务器上运行它时,msdropdown将被禁用 它不适用于任何浏览器。Firebug将错误显示为: TypeError: $.browser is undefined 请帮我做这个 echo <<<_START <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.o

我正在使用msdropdown图像组合框创建下拉选择选项。 当我在电脑上本地运行这段代码时,一切都很好。但当我在go daddy服务器上运行它时,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">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;

echo
$。浏览器已从JQuery 1.9中删除。您可以选择使用project

更新以支持IE 10和IE 11(三叉戟版本)

要完成@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)
var匹配,浏览器;
jQuery.uaMatch=函数(ua){
ua=ua.toLowerCase();
变量匹配=/(chrome)[\/]([\w.]+)/.exec(ua)||
/(webkit)[\/]([\w.]+)/.exec(ua)||
/(opera)(?:.*版本|)[\/]([\w.]+)/.exec(ua)||
/(msie)[\s?]([\w.]+)/.exec(ua)|
/(三叉戟)(?:.*rv:([\w.]+)|)/.exec(ua)||
ua.indexOf(“兼容”)<0&/(mozilla)(?:.*rv:([\w.]+)/.exec(ua)||
[];
返回{
浏览器:匹配[1]| |“”,
版本:匹配[2]| |“0”
};
};
matched=jQuery.uaMatch(navigator.userAgent);
//IE 11+修复(三叉戟)
matched.browser=matched.browser=='trident'?'msie':匹配的浏览器;
浏览器={};
如果(匹配的浏览器){
browser[matched.browser]=true;
browser.version=匹配的.version;
}
//Chrome是Webkit,但Webkit也是Safari。
如果(browser.chrome){
browser.webkit=true;
}else if(browser.webkit){
browser.safari=true;
}
jQuery.browser=浏览器;
//日志已删除-添加额外的依赖项
//日志(jQuery.browser)
-$。jquery更新中不推荐使用浏览器

听起来您在godaddy中使用的是不同版本的jquery 1.9,因此要么更改代码,要么在代码(您的代码或jquery插件)调用
$.browser
以获取当前浏览器类型的某个地方包含迁移插件

然而,今年早些时候。从那时起,一些bug已经针对它进行了归档,但由于它已被弃用,jQuery团队决定不修复它们。我决定根本不依赖这个函数

我在您的代码中没有看到任何对
$.browser
的引用,因此问题可能出在您的一个插件中。要找到它,请查看您使用
标记引用的每个插件的源代码


至于如何修复它:嗯,这取决于上下文。例如,可能有问题插件的更新版本。或者,您也可以使用另一个插件来执行类似的操作,但不依赖于
$.browser

,只需将$.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;
var匹配,浏览器;
jQuery.uaMatch=函数(ua){
ua=ua.toLowerCase();
变量匹配=/(chrome)[\/]([\w.]+)/.exec(ua)||
/(webkit)[\/]([\w.]+)/.exec(ua)||
/(opera)(?:.*版本|)[\/]([\w.]+)/.exec(ua)||
/(msie)([\w.]+)/.exec(ua)||
ua.indexOf(“兼容”)<0&/(mozilla)(?:.*rv:([\w.]+)/.exec(ua)||
[];
返回{
浏览器:匹配[1]| |“”,
版本:匹配[2]| |“0”
};
};
matched=jQuery.uaMatch(navigator.userAgent);
浏览器={};
如果(匹配的浏览器){
browser[matched.browser]=true;
browser.version=匹配的.version;
}
//Chrome是Webkit,但Webkit也是Safari。
如果(browser.chrome){
browser.webkit=true;
}else if(browser.webkit){
browser.safari=true;
}
jQuery.browser=浏览器;

只需包含此脚本即可


包含jquery javascript文件后。

我在代码中添加了以下html,这消除了$.browser错误

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


希望这有助于u

我使用下面指定的jQuery迁移链接解决了这个问题:

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

我使用jquery for Github解决了这个问题

有关更多信息,请参阅此链接。

将jquery文件替换为以下文件:




您使用的是哪个版本的jquery?您的代码中似乎没有
$。浏览器
,因此我假设它在您的一个插件中。jquery 1.9.0…但是,为了测试目的,我改为jquery 1.8.3。现在没有显示错误。但是这个下拉列表仍然是不允许的。我刚刚插入了这个脚本:而且它工作得很好。或者代替Modernizer,可能会问你为什么首先需要浏览器嗅探。我添加了迁移插件。但问题仍然存在迁移插件只对检测已删除或已弃用的函数有用,它不会解决您的问题。您的JQuery版本是什么?我转到JQuery 1.8.3只是为了测试。现在没有显示错误。但是这个下拉列表仍然是禁用的,我添加了迁移插件。但问题仍然存在,它不在主页上。。。对于登录,您需要一个特定的域id。因此您将无法看到问题。奇怪的是,如果您尝试加载jquery 1.8,它是否解决了问题,或者是另一个问题导致菜单无法加载我尝试使用jquery 1.8.3。错误未显示,但下拉列表仍处于禁用状态,因为它与“$.browser is undefined!”无关。看起来您需要查找其他问题以修复菜单库。您保存了我的问题。jQuery.browser(或$.browser)自1.3版起已被弃用,自1.9版起已被删除。不过这个方法对我很有效!我不知道你是从哪里得到这个想法和密码的,但它救了我的命。谢谢你的伟大思想@iyal此代码来自旧版本的Thank,这比只为一个函数加载整个库要好得多。工作起来很有魅力!非常感谢你。经过5-6个小时的尝试,我解决了这个问题。