尝试优化一个网络项目。
它使用asp.net(webforms),一堆jquery插件和诸如此类的东西。
问题:localhost/undefined
有不必要的HTTP请求,这使得每个请求都需要比所需时间长1秒。
问题:有没有找到有罪代码的策略?
线索:undefined
让我觉得有JS参与。
Firebug日志:
GET / undefined HTTP / 1.1
主持人:localhost:17817
User-Agent:Mozilla / 5.0(Windows; U; Windows NT 6.1; lv; rv:1.9.2)Gecko / 20100115
火狐/ 3.6
接受: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
保持活力:115
连接:保持活力
推荐人:http://localhost:17817/Default.aspx
如果右键单击代码中的一行,它会为您提供一个条件断点。检查具有URL值的变量的名称,并在typeof URL ==='undefined'或url ==='undefined'时设置条件并查看堆栈
只需在第3400行设置breakproint(无条件)。它没有经过那里。
3397 ajax:function(s){
3398 //扩展设置,但重新扩展's'以便它可以是
3399 //稍后再次检查(特别是在测试套件中)
3400 s = jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));
稍微缩小了问题=>注释掉1个ascx控制器,它渲染了一些图像并使用了通用的jquery插件和魔法请求消失了。
问题在于galleriffic插件初始化。当没有图像或其他东西时,它无法找到锚点和创建缩略图的href。现在很酷......
答案 0 :(得分:1)
您是否能够识别启动请求的JS代码?如果您使用的是Firebug,它应该在控制台窗口中为您提供一行调用AJAX请求的代码。如果它类似于带有jQuery库中代码行的$ .post(),您可以在Firebug插件中导航callstack以尝试找出调用初始JS调用的位置。
答案 1 :(得分:0)
您可能需要试用 HTTP Watch 。