Javascript Safari:TypeError:A Proxy';s';目标';应该是一个对象
我使用的是网络音频,下面的代码在Chrome中运行良好,但在Safari中不起作用Javascript Safari:TypeError:A Proxy';s';目标';应该是一个对象,javascript,safari,web-audio-api,Javascript,Safari,Web Audio Api,我使用的是网络音频,下面的代码在Chrome中运行良好,但在Safari中不起作用 const audioContextList = []; (function () { self.AudioContext = new Proxy(self.AudioContext, { construct(target, args) { const result = new target(...args); audioContextLis
const audioContextList = [];
(function () {
self.AudioContext = new Proxy(self.AudioContext, {
construct(target, args) {
const result = new target(...args);
audioContextList.push(result);
return result;
}
});
})();
在Safari中,我遇到以下错误:
TypeError:代理的“目标”应为对象
如何解决此问题?Safari 13.1AudioContext
,供应商前缀为webkit
因此,您应该使用self.webkitadiocontext
访问它。
或者,您可以制作一种跨浏览器的解决方案
let AudioContext = self.AudioContext || self.webkitAudioContext;
self.AudioContext = new Proxy(AudioContext, {
construct(target, args) {
const result = new target(...args);
audioContextList.push(result);
return result;
}
});
非常感谢你!