检测IE中是否存在对象

时间:2016-05-10 15:59:09

标签: javascript

通常,如果您想检查浏览器是否支持某项功能,您可以执行以下简单的if语句:

if (SomeFooFeature) { ... }

所以在我的应用程序中,我检查了AudioContext对象,以避免在不支持时尝试使用它时出错:

if (AudioContext) {
    context = new AudioContext()
}

但是当我这样做时,IE会抱怨" AudioContext"未定义。 嗯,什么?我没有检查过吗?

事实上,只是做if (Foo) { ... }会产生同样的错误。

为什么呢?这个微不足道的东西怎么能在Internet Explorer中不起作用?

1 个答案:

答案 0 :(得分:3)

尝试这样做

if (typeof AudioContext != "undefined") {
    context = new AudioContext()
}