Chrome开发者窗口中的“待处理”是指什么意思?

Google Chrome开发者窗口的“ networking ”标签中状态列下的“ 待定 ”是什么意思?

当我的页面脚本发出一个GET请求,其响应包含用于下载CSV文件的content-headers时,会发生这种情况:

Content-type: text/csv; Content-Disposition: attachment; filename=myfile.csv 

这在FF和IE7中正常工作,按预期下载CSV文件并打开文件select器来保存文件,但Chrome什么也不做。 我确认服务器响应请求,所以看起来Chrome不会处理响应。

奇怪的是,如果我把URLinput到Chromes地址栏并点击,所有的工作都如预期的那样。

FYI:Win-XP上的Chrome 10.0.648.204

就我而言,我发现(经过多次拉动)“未决”状态是由AdBlock扩展引起的。 我无法加载的图片在url中有“ad”字样,所以AdBlock不让它加载。

禁用AdBlock修复了这个问题。

重命名文件,使其不包含“广告”的URL也修复它,显然是一个更好的解决scheme。 除非是广告,在这种情况下,你应该像这样离开。 🙂

我在使用HTTPS无处不在的插件时也得到了这个。 这个插件有一个也有https而不是http的网站列表。 所以我假设实际的请求之前已经被取消了。

因此,例如,当我去http://stackexchange.com ,在开发人员首先看到状态(终止)的请求。 这个请求有一些头,但只有GET,User-Agent和Accept。 没有回应。

然后有请求https://stackexchange.com完整标题等;

所以我假设它用于没有发送的请求。

在我的情况下,我有一些与MP3文件挂起请求的问题。 我有一个MP3列表,和一个球员读取它们。 我拿起一个已经下载的文件。 Chrome会阻止该请求并显示待处理的请求。

U可以做一件事情,这个错误总是在Chrome上激活。

 var timestamp = new Date().getTime(); player[0].setAttribute('src','video.webm?i='+timestamp); 

您只需在每个“资源”url的末尾添加一个GETvariables。 这迫使Chrome再次下载文件

爆米花玩家的另一个例子(与JavaScript):

 url = $(this).find('.url_song').attr('url'); pop = Popcorn.smart( "#player_", url + '?i=' + timestamp); 

这对我很有用。 实际上,资源并不存储在caching系统中。 这与我认为.csv文件的方式一样。

我有一个应用程序/ JSON AJAX调用类似的问题。 在ff / IE中他们很好。 在“开发者networking”窗口的chrome中,状态始终(等待),因为正在返回不同的状态码。

在我的情况下,我改变了我的Json响应发送200的HttpStatusCode然后Chrome很好,状态文本更改为200 OK。

例如使用ASP.NET Web Api

  return new HttpResponseMessage(HttpStatusCode.OK ) { Content = request.Content }; 

我在OSX Mavericks上遇到了同样的问题,原来Sophos反病毒软件阻止了某些请求,一旦我卸载了它,问题就消失了。

如果您认为这可能是由扩展引起的,那么尝试testing这个方法就是用'--disable-extensions标志打开chrome来查看是否修复了这个问题。 如果不能解决这个问题,可以考虑在浏览器之外查看是否有其他应用程序可能导致这个问题,特别是可能影响请求的安全应用程序。

与Chrome相同的问题:我在我的HTML页面中有以下代码:

 <body> ... <script src="http://myserver/lib/load.js"></script> ... </body> 

但是在networking面板中查看时, load.js始终处于状态。

我find了一个使用asynchronousload.js加载的解决方法:

 <body> ... <script> setTimeout(function(){ var head, script; head = document.getElementsByTagName("head")[0]; script = document.createElement("script"); script.src = "http://myserver/lib/load.js"; head.appendChild(script); }, 1); </script> ... </body> 

现在它工作正常。

我在debugging本地Web应用程序时遇到了这个问题。 这个问题原来是AVG防病毒和防火墙的限制。 我不得不允许通过防火墙的exception摆脱“待定”状态。

对我来说,修正是将以下内容添加到被请求的php文件的顶部。

 header("Cache-Control: no-cache,no-store"); 

在我的情况下,有一个Chrome的更新,使得它不会加载之前,重新启动浏览器。 干杯

networking暂挂状态准时,意味着您的请求正在进行状态。 一旦响应,时间将会随着总的时间更新。

此图显示networking呼叫处于处理状态(待定) 此图显示网络呼叫处于处理状态(待定)

该图显示了通过networking呼叫处理所花费的时间。 该图显示了通过网络呼叫处理所花费的时间

当我从页面请求某些图像时遇到同样的问题。 我使用JavaScript来设置一个img对象的src属性,如果networking很差,挂起将显示在chrome开发者窗口的networking面板上。 我认为这是由于networking差。