我目前正在尝试编写一个工具,使用Just Google Chrome和Javascript浏览并查找本地900+ MB XML文件中的某些节点。由于无法直接访问本地文件,我设置了一个文件输入元素,我用FileReader API读取,然后将其解析为XML。
在阅读文件时,Chrome会崩溃,因为已达到RAM限制。这似乎是浏览器实现的限制,因为到目前为止还没有达到我的计算机的Ram限制。这是我的代码:
let xmlFile = "";
let fileInput = document.getElementById('fileInput');
let fileReader = new FileReader();
let readProgress = document.getElementById('readProgress');
fileInput.addEventListener('change', readFile);
function readFile(){
let f = fileInput.files[0];
fileReader.readAsText(f);
}
fileReader.onload = function(event){
xmlFile = $.parseXML(event.target.result);
console.log(xmlFile);
console.log('done');
}
fileReader.onprogress = function(event){
let percent;
percent = event.loaded/event.total*100;
readProgress.textContent = percent;
}
有没有办法增加Chrome内存限制,还是有更好的方法来处理这么大的XML文件?
先谢谢
Barneo