响应和页面加载之间的Javascript页面差距为15秒

Jan*_* S. 6 javascript internet-explorer delay

我有一个页面(A)这是一个沉重的JavaScript页面,当我离开这个页面去B页需要很长时间.当我从另一个页面转到页面B时,它真的很快.所以它与页面A有关,可能还有它的javascript.

当我从IE 9中的开发人员工具运行网络探查器时,它在响应和DomContentLoaded(事件)之间显示约15秒的间隔.

页面A很重要,因为它运行Xopus编辑器,一个富文本XML编辑器.

有没有人对我能做些什么有任何想法,要么分析关于发生了什么的差距,或者我可以做些什么来使Page A卸载更快.

Mar*_*her 2

这个可能性不大,因为大约有一千一百处错误,但它可能是一个开始的地方。将此脚本标记添加到您的页面作为最后一个:

<script>
    function unloadJS() {
      var scripts = document.getElementsByTagName("SCRIPT");
      for (var index = 0; index < scripts.length - 1; index++)
      {
        var file = scripts[index].getAttribute("src");
        var start = +new Date();
        scripts[index].parentNode.replaceChild(document.createElement('script'),
                                               scripts[index]); 
        var elapsed = +new Date() - start;
        alert(file + ": " + elapsed.toString());
      }
      return false;
    }
</script>
Run Code Online (Sandbox Code Playgroud)

此代码尝试强制卸载页面上加载的每个 JavaScript 文件,并报告删除它们所需的时间(以毫秒为单位)。方便时触发此操作,即在卸载时或使用按钮:

<button onclick="return unloadJS()">Go!</button>
Run Code Online (Sandbox Code Playgroud)

这可能不起作用/告诉您需要知道什么,因为当脚本断开连接时 IE 可能拒绝执行垃圾收集。这可能是因为 IE 在执行此操作时实际上不会卸载它们,或者只是因为 IE - 好吧,oddi 所说的:)

无论如何,这都不是解决方案;无论 JS 何时被卸载,垃圾收集仍然需要相同的时间。这只是第一次诊断的尝试,就像您所要求的那样。希望它有效/有帮助...