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差。