我想这样做:
function loadSound(url) {
var request = new XMLHttpRequest();
request.open('GET', url, true);
request.responseType = 'arraybuffer';
// Decode asynchronously
request.onload = function() {
context.decodeAudioData(request.response, function(buffer) {
sound= buffer;
}, onError);
}
request.send();
}
但我收到了这个错误:
Uncaught InvalidAccessError:无法在'XMLHttpRequest'上设置'responseType'属性:无法更改从文档发出的同步请求的响应类型。
有什么建议吗?
答案 0 :(得分:1)
这是规范定义的内容:
注意:从Gecko 11.0(Firefox 11.0 / Thunderbird 11.0 / SeaMonkey 2.8)以及WebKit build 528开始,这些浏览器在执行同步请求时不再允许您使用responseType属性。尝试这样做会引发NS_ERROR_DOM_INVALID_ACCESS_ERR异常。这一变化已经提交给W3C进行标准化。
来自:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest