2011-10-07 238 views
1

我正在创建一个使用JavaScript来混洗一系列音频文件问题及其匹配拖放答案的网页。我已经使用原生HTML5音频标签成功实现了这一功能,但也有IE 7/8的后备部分,因为这些浏览器无法读取音频标签。此回退部分使用对象和参数标签周围的条件注释,如演示at the end of this article hereJavaScript - 混洗音频

它的工作原理是在IE中进行随机播放,但由于该活动使用“播放声音”按钮而不是音频播放器控件,因此它显示了我特别隐藏的丑陋媒体播放器式控件。

如果有人需要查看代码的特定部分,请让我知道。

非常感谢提前!

+0

哦......刚刚注意到另一个问题......在回退上的随机播放功能杀死了音频 - 即当您单击IE中的按钮时它不会播放。来自那里的任何建议?再次感谢:) – ellawson

+0

问题IE浏览器声音和洗牌解决以下类似的问题。 – ellawson

回答

1

两个想法(对不起,我在此刻MAC在IE因此测试是不是一个很好的选择):

  1. 我看到你想隐藏控制参数,但你有没有尝试将CS​​S应用于对象标签或包裹它的容器?这可能与给包装div一个display: nonevisibility: hidden的样式一样简单。

  2. 这不是直接回答你的问题,但你有没有调查过任何插件,如SoundManager 2?它使用带有Flash后备的HTML5音频;我之前使用过它并取得了成功。很明显,它需要在较旧的浏览器上使用Flash,但如果这不是问题,则可能比试图找出如何隐藏控件更容易。

这是一个不错的小页面。祝你好运!

为了解决您的第二个问题/评论:使用对象/嵌入标签意味着您依赖于浏览器/操作系统来决定它将用于播放音频的插件。一些谷歌搜索轮番上涨的问题与IE浏览器和QuickTime,和一个可能的解决方案:

希望它能帮助。如果您继续使用SoundManager,SoundManager 2可能值得您尝试,但请注意,使用SM2将要求使用旧版浏览器的用户安装并解锁Flash。

+0

呜呼!你是小松土!谢谢 - 这确实和将的CSS显示属性设置为none一样简单。 – ellawson

+0

编辑我的问题,以提供关于您的后续问题的更多反馈,希望它有所帮助。 –

+0

感谢您的其他建议:)管理第二部分的工作 - 请参阅下面的答案。 – ellawson

1

我已经设法解决了IE中音频的第二个问题 - 对于随机播放脚本来处理IE中的音频,您必须在音频代码之前调用shuffle - 在我的情况下,我将所有条件评论下面的.shuffle();的东西,它不用担心!