![](/img/trans.png)
[英]Some items of Parallel.ForEach<T> runs on ThreadPool, some doesn't
[英]Some javascript runs and some doesn't
我不确定这究竟何时开始发生。 使用我一直在使用的新代码(ajax),我在C#/ VS2013中的开发环境看起来很棒。 我去了将该代码部署到一个beta站点,并且某些javascript代码无法正常工作(下面模拟的一页上的选项卡菜单)。
然后,我回到我的开发环境中,发现它可以在IE中正常运行,但不能在Firefox或chrome中运行。 在尝试清理它时,我现在也在IE中将其破坏了,我认为这是一件好事,因为我现在可以解决/验证该问题。
我在项目中创建了一个测试页,并在选项卡控制器测试中进行了复制。
@section Scripts
{
<script type="text/javascript">
$(function () {
$("#tabs").tabs();
});
alert("test");
</script>
}
<body>
<div id="tabs">
<ul>
<li><a href="#tabs-1">tab1</a></li>
<li><a href="#tabs-2">tab2</a></li>
</ul>
<div id="tabs-1">
tab 1
</div>
<div id="tabs-2">
tab 2
</div>
</div>
当我调用页面时会触发alert(),因此我知道javascript正在运行。 同样,选项卡控制器在页面顶部创建选项卡,但同时显示tab1和tab2,并且选项卡不会切换页面。
菜单选项是twitter引导菜单,也可以正常使用。
我的layout.cshtml的顶部位置如下:
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/knockout")
@Scripts.Render("~/bundles/modernizr")
而在renderbody部分之后:(我试过上面部分和下面的rendersection脚本的放置。)
@RenderSection("scripts", required: false)
BundleConfig.cs具有以下功能:
public static void RegisterBundles(BundleCollection bundles)
{
RegisterStyleBundles(bundles);
bundles.Add(new ScriptBundle("~/bundles/jquery")
.Include("~/Scripts/jquery-{version}.js")
.Include("~/Scripts/jquery-ui-{version}.js")
.Include("~/Scripts/jquery.unobtrusive*")
.Include("~/Scripts/jquery.validate*")
.Include("~/Scripts/jquery.migrate-121.min.js")
.Include("~/Scripts/bootstrap.js")
);
bundles.Add(new ScriptBundle("~/bundles/knockout").Include(
"~/Scripts/knockout-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));
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.theme.css"));
}
private static void RegisterStyleBundles(BundleCollection bundles)
{
bundles.Add(new StyleBundle("~/css")
.Include("~/Content/bootstrap.css")
.Include("~/Content/bootstrap-responsive.css")
.Include("~/Content/site.css"));
}
}
在Firebug中,除了一系列CSS问题之外,我没有看到任何其他错误,这些问题似乎都与版本控制有关,根据jQuery站点,它们将被忽略。 (在整个事情开始发生之前,他们也在那里)。
Nuget显示它正在从项目中删除旧版本的jquery,但实际上并未删除jquery文件。 答案是从Visual Studio项目外地的scripts文件夹中删除旧版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.