在Internet Explorer中调试网站
我有一个网站,使用时真的很慢,"感觉"很差。我认为服务器很好,这是一个客户端问题,因为有太多的JavaScript或者图像请求,但是由于它不是我自己的网站,所以我想知道是否有一种方法可以在IE中显示和剖析Page。
在Firefox中,我将使用Firebug,Y!Slow和Web Developer扩展来查看所有JavaScript,CSS,图像和其他请求,AJAX请求等,但是在IE上我没有看到任何问题。我知道我可以使用Firefox,但是该页面在FF中比在IE中效果更好,所以我想知道是否在IE中有一些Development Addon。
编辑:感谢许多建议!太多好的答案都不能选择一个"可接受的",但我将介绍一下所建议的各种工具。
解决方案
提琴手的帮助下我们可以查看互联网活动。它显示了通过网络堆栈的所有请求/响应消息的日志。
有Internet Explorer Web开发人员工具栏。它不像Firebug IMHO那样好,但是它可以工作。
IE8也将内置一个。
有一个精简版的Firebug,可以与IE和其他浏览器一起使用,我们是否尝试过?
有一个名为firebug light的JS库,我们需要将其包含在站点中。它对作用是使我们能够弹出一个div,我们可以在其中插入文本,例如在firebug中,使用与在firebug中相同的语句。 MochiKit也有类似的东西。
这不是探查器或者插件,但是一旦发现它们,我们可能会发现Quirksmode可以解决一些以IE为中心的问题。
我们是否在客户端上运行性能监视器以查看发生了什么事情,例如是否有大量的内存交换使事情变慢了?还是所有网络流量都是问题所在?
另一个想法是,是否存在服务器日志,这对于查看请求时间(如果有大量文件要加载以及用于初始化事物的Javascript)可能会有所帮助。
我最近一直在使用Web Development Helper。它的HTTP记录比Firebug更好。还可以运行任意Javascript。
通过使用Wireshark之类的网络嗅探器或者代理,我们可以监视流量,并查看是否是图像和/或者脚本的加载使网站运行缓慢。如果我们不确定打开或者注释掉JavaScript,以排除正在处理它们的速度变慢。
如果我们在网络流量中看不到任何迹象表明速度变慢,那么我们可能需要对javascript代码本身进行更深入的分析,方法可能是插入计时器或者其他度量值以查看可以优化的部分。
我使用HTTPWatch。它提供了类似于Firefox LiveHeaders的所有信息,但是以一种更为有用的方式提供。这也是确定我们是否有任何阻止下载页面其他内容的操作的好工具。
尝试提琴手!它是一个免费的HTTP调试代理,除其他功能外,它可以洞悉我们网站上的负载,可能减慢的速度等。它具有高级功能,例如解码压缩资源,为某些URL提供预先设置的响应等。对于任何Web开发人员而言,学习Fiddler都是必须的。
我还建议使用两种工具来发现JavaScript内存泄漏:
- 筛
- Microsoft JavaScript内存泄漏检测器
我们可以尝试使用同一家公司http://www.debugbar.com/上的debug bar和同伴JS,它们是免费的,并且在概念上与Firebug非常相似,但开发起来却不一样
随着IE插件的推出,HttpWatch也非常出色。