试图优化一个 web 项目。
它使用 asp.net (webforms)、一堆 jquery 插件等等。
问题:有不必要的 HTTP 请求localhost/undefined
,这使得每个请求比需要的时间长约 1 秒。
问题:有什么策略可以找到有罪的代码吗?
线索:undefined
让我觉得有 JS 参与。
萤火虫日志:
GET /undefined HTTP/1.1
Host: localhost:17817
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; lv; rv:1.9.2) Gecko/20100115
Firefox/3.6
Accept: image/png,image/ ; q=0.8, / ;q=0.5
Accept-Language: lv,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-13,utf-8;q =0.7, ;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://localhost:17817/Default.aspx
如果您右键单击代码中的一行,它会给您一个条件断点。检查具有 URL 值的变量的名称,并在 typeof URL === 'undefined' 或 url === 'undefined' 时设置条件并查看堆栈
只需在第 3400 行设置断点(无条件)。它不经过那里。
3397 ajax: function( s ) {
3398 // 扩展设置,但重新扩展 's' 以便它可以被
3399 // 稍后再次检查(特别是在测试套件中)
3400 s = jQuery.extend(true, s, jQuery.extend(true, {}, jQuery.ajaxSettings, s));
将问题缩小一点 => 注释掉了 1 个渲染一些图像并使用gallerific jquery 插件和消失的魔术请求的 ascx 控制器。
问题在于galleriffic插件初始化。它找不到锚点,它是在没有图像或其他东西时创建缩略图的 href。现在很酷...