我正在ASP.NET MVC4上创建一个应用程序。
我在jqGrid中显示数据,其中有一个附有名称列的超链接。
单击它,将打开一个jQuery对话框。
部署应用程序时,同样的事情不起作用。
我收到错误消息:
TypeError: n.browser is undefined
显示错误:
<script src="/Analytics/bundles/jqueryui?v=a0vNGd5I0ua6k0Tl4zU-HRoN0y8crNJXKefaMq_937w1">
我尝试在互联网上找到解决方案,但没有找到线索。 我已经检查过所有js和css只加载一次。
以下是截图:
BundleConfiguration也设置为true。
需要解决方案......
更新@ Amila的请求:BundleConfig.cs
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
"~/Scripts/jquery-ui-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));
bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
"~/Content/themes/base/jquery.ui.core.css",
"~/Content/themes/base/jquery.ui.resizable.css",
"~/Content/themes/base/jquery.ui.selectable.css",
"~/Content/themes/base/jquery.ui.accordion.css",
"~/Content/themes/base/jquery.ui.autocomplete.css",
"~/Content/themes/base/jquery.ui.button.css",
"~/Content/themes/base/jquery.ui.dialog.css",
"~/Content/themes/base/jquery.ui.slider.css",
"~/Content/themes/base/jquery.ui.tabs.css",
"~/Content/themes/base/jquery.ui.datepicker.css",
"~/Content/themes/base/jquery.ui.progressbar.css",
"~/Content/themes/base/jquery.ui.all.css",
"~/Content/themes/base/jquery.ui.theme.css"));
bundles.Add(new StyleBundle("~/Content/jquery.jqGrid/css").Include("~/Content/jquery.jqGrid/ui.jqgrid.css"));
}
_Layout.cshtml
(校长)
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@Styles.Render("~/Content/jquery.jqGrid/css")
@Styles.Render("~/Content/themes/base/css")
(正文代码)
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")
@RenderSection("scripts", required: false)
JQGrid的视图包含:
@section Scripts{
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/Scripts/i18n/grid.locale-en.js")
@Scripts.Render("~/Scripts/jquery.jqGrid.min.js")
}
答案 0 :(得分:1)
嘿,你必须使用最新版本的jquery,即:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
它肯定会解决这个错误。
答案 1 :(得分:1)
您需要在web.config中设置编译debug =“false”才能使用Jquery&amp;无论.NET是运行4.0还是4.5,都要捆绑css。
编译debug =“false”targetFramework =“4.0”
答案 2 :(得分:0)
检查this链接
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;
}
答案 3 :(得分:0)
你可以用你用于jQuery和jQueryUI的两个软件包来更新你的帖子吗?
您必须在调试模式和发布模式下使用两个不同版本的jQuery。请查看http://api.jquery.com/jquery.browser/
你得到n.browser,因为你的脚本被缩小了,否则就是$ .browser
答案 4 :(得分:0)
直接在视图顶部引用您的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.....
}