2015-02-06 59 views
0

我使用的是HTML5网页音频API,和我想要动态地确定哪些AudioContext构造通过如何确定在Safari中使用哪个AudioContext构造函数?

var constructor = AudioContext || webkitAudioContext; 
var context = new constructor(); 

然而使用,使用此代码,Safari浏览器打趣道:

ReferenceError: Can't find variable: AudioContext 

对于首先,我甚至不知道在javascript中存在ReferenceError,因为默认情况下未定义的变量将采用undefined值。尽管Safari浏览器的javascript实现方式与Chrome浏览器有很大不同,但它们都使用webkit引擎...

如何确定在不触发此错误的情况下使用哪个构造函数?

回答

4

尝试使用window.AudioContext代替。

+0

这不提供问题的答案。要批评或要求作者澄清,请在其帖子下方留言。 – DLeh 2015-02-06 15:25:58

+2

@DLeh,答案是正确的。它没有进入错误的原因,但它说如何避免它。原因是未定义的变量引用与未定义的对象属性不同。这种行为不是特定于Safari的。 – aldel 2015-02-06 15:42:23

+0

谢谢! 'window.AudioContext || window.webkitAudioContext;'工作。 – dangerChihuahua007 2015-02-08 01:27:48

相关问题