Javascript Safari:TypeError:A Proxy';s';目标';应该是一个对象

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

我使用的是网络音频,下面的代码在Chrome中运行良好,但在Safari中不起作用

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.1
AudioContext
,供应商前缀为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;
  }
});  


非常感谢你!