使用扫描仪(IE5)加载页面时间

时间:2014-10-06 13:47:35

标签: javascript jquery asp.net-mvc knockout.js

我有一个MVC项目,我使用knockoutjs和sammy构建为SPA。 我把这个脚本放在页面头部。

<script>
   var startTime = (new Date()).getTime();
</script>

在身体的尽头,我把它放在了:

@Scripts.Render("~/Scripts/required")
@Scripts.Render("~/Scripts/app/views")

<script>
    $(function () {
        $(window).load(function () {
            var endTime = (new Date()).getTime();
            var millisecondsLoading = endTime - startTime;
            // Put millisecondsLoading in a hidden form field
            // or Ajax it back to the server or whatever.
            alert(millisecondsLoading);
        });
    });
</script>

正在加载的脚本是:

' For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
Public Sub RegisterBundles(ByVal bundles As BundleCollection)
    bundles.Add(New StyleBundle("~/Content/css").Include(
                "~/Content/core.css"))

    bundles.Add(New ScriptBundle("~/Scripts/required").Include(
                "~/Scripts/jquery-1.9.0.min.js",
                "~/Scripts/json2.js",
                "~/Scripts/jquery.cookie.js",
                "~/Scripts/knockout-3.2.0.js",
                "~/Scripts/knockout.validation.js",
                "~/Scripts/sammy-0.7.5.js"))

    bundles.Add(New ScriptBundle("~/Scripts/app/views").Include(
                "~/Scripts/app/_common.js",
                "~/Scripts/app/_app.datamodel.js",
                "~/Scripts/app/_app.viewmodel.js",
                "~/Scripts/app/common.viewmodels.js",
                "~/Scripts/app/error.viewmodel.js",
                "~/Scripts/app/login.viewmodel.js",
                "~/Scripts/app/home.viewmodel.js",
                "~/Scripts/app/cut-lengths.viewmodel.js",
                "~/Scripts/app/move-stock.viewmodel.js",
                "~/Scripts/app/transfers.viewmodel.js",
                "~/Scripts/app/allocations.viewmodel.js",
                "~/Scripts/app/lot-enquiry.viewmodel.js",
                "~/Scripts/app/_run.js"))

    ' Set EnableOptimizations to false for debugging. For more information,
    ' visit http://go.microsoft.com/fwlink/?LinkId=301862
    BundleTable.EnableOptimizations = True
End Sub

现在,如果我在开发机器上使用IE5运行此操作,我会收到200到300毫秒之间的警报。这很好。 但是,当我在扫描仪上运行它时,加载需要20000毫秒(20秒)。

以下是按顺序添加每个脚本的时间(从jQuery开始)

  • 5秒(关于它的jQuery&#39; s)
  • 6秒(jQuery,json2)
  • 6秒(jQuery,json2,jQuery-cookie)
  • 8秒(jQuery,json2,jQuery-cookie,knockoutjs)
  • 9秒(jQuery,json2,jQuery-cookie,knockoutjs,sammy)

现在,我开始添加我的视图模型以查看它们的影响:

  • 9秒(app dataModel)
  • 10秒(app dataModel,viewModel)
  • 11秒(app dataModel,viewModel和common)

每个其他视图模型大约需要一秒钟才能加载。

以前有没有人见过这个?如果是这样,你是如何解决的? 我很茫然,因为我们有另一个应用程序加载相同数量的脚本并且它几乎是即时的。

请帮忙!

1 个答案:

答案 0 :(得分:1)

不支持Internet Explorer 5,因此我不希望它能够很好地运行:

KnokcoutJS

  

支持所有主流浏览器,甚至是古老的浏览器 IE 6 + ,Firefox   3.5+,Chrome,Opera,Safari(桌面/移动设备)

JQuery

  

jQuery 1.x Internet Explorer 6 +

Sammy

  

总的来说,Sammy旨在支持所有现代和当前的浏览器   跨所有插件和核心。这包括:    IE&gt; = 8