Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery在本地主机上工作,但不在IIS上工作_Jquery_Asp.net Mvc 4_Iis_Jqgrid_Localhost - Fatal编程技术网

jquery在本地主机上工作,但不在IIS上工作

jquery在本地主机上工作,但不在IIS上工作,jquery,asp.net-mvc-4,iis,jqgrid,localhost,Jquery,Asp.net Mvc 4,Iis,Jqgrid,Localhost,我正在ASP.NET MVC4上创建一个应用程序 我在jqGrid中显示数据,它有一个附加了name列的超链接 单击它,将打开一个jQuery对话框 当我部署应用程序时,同样的事情不起作用 我收到一条错误消息: TypeError: n.browser is undefined 错误显示在: <script src="/Analytics/bundles/jqueryui?v=a0vNGd5I0ua6k0Tl4zU-HRoN0y8crNJXKefaMq_937w1"> _Layo

我正在ASP.NET MVC4上创建一个应用程序

我在jqGrid中显示数据,它有一个附加了name列的超链接

单击它,将打开一个jQuery对话框

当我部署应用程序时,同样的事情不起作用

我收到一条错误消息:

TypeError: n.browser is undefined
错误显示在:

<script src="/Analytics/bundles/jqueryui?v=a0vNGd5I0ua6k0Tl4zU-HRoN0y8crNJXKefaMq_937w1">
_Layout.cshtml

(总码)

(机构代码)

JQGrid视图包含:

@section Scripts{
    @Scripts.Render("~/bundles/jqueryval")
    @Scripts.Render("~/Scripts/i18n/grid.locale-en.js")
    @Scripts.Render("~/Scripts/jquery.jqGrid.min.js")
}
检查链接

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,即:


它肯定会解决这个错误

您能用jQuery和jQueryUI使用的两个捆绑包更新您的帖子吗

您必须在调试模式和发布模式下使用两个不同版本的jQuery。请看一看


您可以使用n.browser,因为您的脚本已缩小,否则它的$.browser将直接在视图顶部引用您的jquery文件。捆绑包有时不能正常工作:

 @section Scripts
{
<script src="../Scripts/jquery-1.10.1.js"></script>
<script src="../Scripts/jquery-1.10.1.min.js"></script>
<script src="../Scripts/jquery.validate.js"></script>
 .
 .
 .
etc.....
@节脚本
{
.
.
.
等

}

无论.NET运行的是4.0还是4.5,都需要在web.config中设置compilation debug=“false”以使用Jquery&css绑定


compilation debug=“false”targetFramework=“4.0”

当您使用“~/Scripts/jquery-{version}.js”时,它将使用脚本文件夹中的jquery版本。它是否与您在本地主机和服务器中使用的版本相同?抱歉,信息不完整。我正在使用jquery-2.1.0和jquery-ui-1.10.4。我在localhost和IIS中使用了相同的版本,在IIStry上发布和部署了相同的代码,包括
之后的
@Scripts.Render(“~/bundles/jquery”)
工作得很好,谢谢:)将此作为临时解决方案,因为它是从较旧版本的jquery(1.9之前到1.9或更高版本)升级时使用的。要找到真正的问题,还得多挖点。根据您所说的,您使用的是支持jQuery1.6+的jQueryUI版本,但不确定它是否支持jQuery2+。他们有一个新版本的jQueryUI(1.11)。请尝试使用它并删除迁移插件
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
@RenderSection("scripts", required: false)
@section Scripts{
    @Scripts.Render("~/bundles/jqueryval")
    @Scripts.Render("~/Scripts/i18n/grid.locale-en.js")
    @Scripts.Render("~/Scripts/jquery.jqGrid.min.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;
}
 @section Scripts
{
<script src="../Scripts/jquery-1.10.1.js"></script>
<script src="../Scripts/jquery-1.10.1.min.js"></script>
<script src="../Scripts/jquery.validate.js"></script>
 .
 .
 .
etc.....