2016-08-21 553 views
1

在我的反应应用中,Chrome会在设定数量的请求后停止加载资源。这导致我的应用程序无法加载任何东西,并且事情开始出现问题。它只是文件,它继续与我的API沟通就好了。Chrome请求被卡在待处理中

enter image description here

正如你可以看到,经过约6个音轨,它只是停止加载任何东西。

enter image description here

我试图重新启动,复位,禁用扩展,没有什么工作。 而我在任何其他浏览器中都没有遇到此问题。

真奇怪的是,如果我关闭并重新打开我的开发人员工具,突然它会重新加载。然后它会再次在一定数量的文件后停止。

任何人有什么想法是怎么回事?

回答

2

我已经通过将我的应用中的音频对象数量限制为5来解决了这个问题。其他浏览器比这个稍微高一些,但我确实想说这很愚蠢Chrome有这个限制。我将Audio对象存储在内存中(一个数组),以便在需要时可以快速恢复音频。

0

貌似这已经在Chrome中经历过的(可能重复:Chrom only loading 6 html5 audo tags

据此其他用户,铬似乎防止预紧资产出于性能的考虑,尤其是对移动

设置<audio controls preload="none">会。负载资产请求访问他们

编辑:你尝试这样的事情?:

function loadAudio(url){ 
 
    var audio = new Audio(); 
 
    audio.preload = "none"; 
 
    audio.controls = "controls"; 
 
    audio.src = url; 
 
    audio.volume = "0.3"; 
 
    return audio; 
 
    } 
 

 
var a = loadAudio("http://www.noiseaddicts.com/samples_1w72b820/17.mp3") 
 
document.body.appendChild(a);
<html> 
 
    <head> 
 
    </head> 
 
    <body> 
 
    
 
    </body> 
 
</html>

+0

我没有使用HTML5元素,我正在使用音频对象。我可以做'Audio.preload ='none''?编辑:试过了,没有工作。另外我在内存中存储了几个音频对象。 –