在我正在开发的脚本中,我检查变量是否为instanceof HTMLAudioElement
。当我通过grunt任务运行QUnit时,它以
>> Message: Died on test #1 at file:///path/test/lib/qunit.js:425
>> at file:///path/test/all.js:24: Can't find variable: HTMLAudioElement
>> ReferenceError: Can't find variable: HTMLAudioElement
all.js
实际上并没有引用HTMLAudioElement
本身,只是在我的主脚本中调用了一些可以使用它的代码。
当我在Firefox,Chrome或Safari中打开all.html
时,所有测试都会通过。
这是预期的行为吗?它是否使用某种没有该构造函数的浏览器仿真?这是否意味着我的代码在某些浏览器中会失败,或者这只是错误的配置并没有告诉我任何有用的东西?我该如何解决?
答案 0 :(得分:4)
对不起朋友,但根据their website,PhantomJS不支持HTML5 audio
或video
元素,因此HTMLAudioElement
构造函数将不存在。
您可以通过围绕该代码检查与不支持的浏览器的兼容性,使用Modernizr之类的内容来验证您的测试吗?