Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
firefox(9)、javascript、大数据文件导致的分配大小溢出。有没有办法避免这种情况?_Javascript_Firefox_Size_Overflow_Allocation - Fatal编程技术网

firefox(9)、javascript、大数据文件导致的分配大小溢出。有没有办法避免这种情况?

firefox(9)、javascript、大数据文件导致的分配大小溢出。有没有办法避免这种情况?,javascript,firefox,size,overflow,allocation,Javascript,Firefox,Size,Overflow,Allocation,我正在开发一个web应用程序,其中包括读取.csv文件并转换为.xml文件的第一次转换 我有一个20MB的文件,处理得很好(所以代码还可以) 但是我有一个80MB的文件,这个过程随着错误控制台中的消息而停止 错误:分配大小溢出 它指向存储大型xml字符串的对象的最后一行 代码基本上分割.csv文件,对于每一行,再次分割该行,然后使用添加到变量中的xml标记重新构建内容 然后我假设对于80 mb(.csv文件)的Firefox来说,字符串的大小太大了 我的问题是,我能做些什么吗,比如拆分变量或类似

我正在开发一个web应用程序,其中包括读取.csv文件并转换为.xml文件的第一次转换

我有一个20MB的文件,处理得很好(所以代码还可以)

但是我有一个80MB的文件,这个过程随着错误控制台中的消息而停止

错误:分配大小溢出

它指向存储大型xml字符串的对象的最后一行

代码基本上分割.csv文件,对于每一行,再次分割该行,然后使用添加到变量中的xml标记重新构建内容

然后我假设对于80 mb(.csv文件)的Firefox来说,字符串的大小太大了

我的问题是,我能做些什么吗,比如拆分变量或类似的解决方法?或者这会浪费时间


谢谢

这个问题看起来很老,但我找到了一些解决办法。对于现代浏览器,您可以使用URL API

var file = document.getElementById('video').files[0];
window.URL = window.URL || window.webkitURL;
var video = document.querySelector("#vid");
video.preload = 'metadata';
video.onloadedmetadata = function() {
   window.URL.revokeObjectURL(this.src);
   let time = video.duration;
   console.log(video.duration);
}
video.src = URL.createObjectURL(file);

你在释放记忆吗?像删除或设置未使用的变量为空?我不是。我认为JS可以自动进行垃圾收集。有没有办法查看JS在脚本执行过程中使用的内存?要像自动检查一个值一样,在错误发生之前给出一个好消息,或者对任何解决方案(如释放内存)是否正常进行故障排除?firebug可以告诉您memoryProfile,并为您指明正确的方向谢谢!我不知道这个分机。立即安装:)