我有一个QuickTime对象,我想通过JavaScript控制它。 在控制上我的意思是播放,停止,设置音量。
实际上一切都很顺利,直到Safari 5.1问世。现在我无法以任何方式操作我的对象。
我制作了一个示例html页面,在那里我可以演示我的问题:
http://seven7.uw.hu/uwother/safari/v.html
请检查它的源代码以了解它的工作原理。
所以在这里,我有一个内部带有wav的QuickTime对象。 只有在Safari 5.1上,当我点击任何一个javascript控制按钮时,我收到此错误消息(Safari开发人员菜单,错误控制台):
TypeError:'undefined'不是函数(评估'aud.SetVolume(100)')
或者当我只是想播放它时删除音量控制:
TypeError:'undefined'不是函数(评估'aud.Play()')
我不知道问题出在哪里,因为它适用于其他浏览器(Firefox 5.0,IE7,IE8,IE9等),它也可以与低于5.1的Safari版本完美配合,例如:5.0.5。< / p>
有什么建议吗?
(我不想使用html5音频标签,请跳过它。)
谢谢!
答案 0 :(得分:0)
我一直看到Safari 5.1和&lt; embed&gt;的问题标签。 MP3音频文件无法可靠加载,Javascript调用Play()会导致JS错误。
该问题可能与在客户端计算机上以64位模式运行Firefox有关。 Firefox 5/6与Quicktime 7.6.6(OS X [10.6.8]下的默认值)不兼容,这在某种程度上影响了Safari 5.1和Quicktime交互。在我的测试中,Firefox 5 + Quicktime 7.6.6甚至无法播放一个简单的链接到.mp3文件,在新的浏览器窗口中打开。
使用获取信息...强制Firefox以32位模式运行。 Mp3现在正在播放。
在Safari中,清空缓存....然后在重置Safari下...选择选项:“删除所有网站数据”。 Safari现在忽略了Firefox和Quicktime一起制作的任何内容。
重新启动,Safari 5.1 应该工作。
答案 1 :(得分:0)
尝试将该代码放入try / catch