我正在尝试使用全局范围内的函数读取二进制文件:
function GetDataView(file_name, callback){
var xmlhttp = new XMLHttpRequest();
var data_view = [];
xmlhttp.onreadystatechange= function(){
if (xmlhttp.readyState==200 ||xmlhttp.readyState==4 || xmlhttp.readyState=="complete"){
data_view = new DataView(this.response); //DataView is not defined here
callback(data_view);
}
}
xmlhttp.open("GET", file_name,true);
xmlhttp.responseType = "arraybuffer";
xmlhttp.send();
}
它适用于Chrome,但在Firefox中,我得到“DataView未定义”。奇怪的是,如果我在index.html上双击启动Firefox,它会起作用,但是如果我在已经运行的浏览器中打开index.html就会失败,以“firefox.exe”启动。