Jan*_* S. 6 javascript internet-explorer delay
我有一个页面(A)这是一个沉重的JavaScript页面,当我离开这个页面去B页需要很长时间.当我从另一个页面转到页面B时,它真的很快.所以它与页面A有关,可能还有它的javascript.
当我从IE 9中的开发人员工具运行网络探查器时,它在响应和DomContentLoaded(事件)之间显示约15秒的间隔.
页面A很重要,因为它运行Xopus编辑器,一个富文本XML编辑器.
有没有人对我能做些什么有任何想法,要么分析关于发生了什么的差距,或者我可以做些什么来使Page A卸载更快.
这个可能性不大,因为大约有一千一百处错误,但它可能是一个开始的地方。将此脚本标记添加到您的页面作为最后一个:
<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 何时被卸载,垃圾收集仍然需要相同的时间。这只是第一次诊断的尝试,就像您所要求的那样。希望它有效/有帮助...
归档时间: |
|
查看次数: |
2487 次 |
最近记录: |