我正在使用object在我的html页面中播放音频文件。我需要使用两个对象,一个用于IE,另一个用于其他浏览器 当前代码如下所示
<object id='audioPlayer' classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' type='application/x-oleobject'
height="42" width="250">
// giving parameters here
<%-- !IE--%>
<object type="video/x-ms-wmv" data="<%: Model.recordSourcePath %>" width="251" id="audioPlayerMozilla"
height="42">
// giving parameters here
</object>
</object>
它的工作正常。但问题是我需要为两个对象(即audioplayer和audioPlayerMozilla)提供不同的id。如果我为两个java脚本提供相同的id在mozilla中不起作用。我必须要使用相同的ID访问此对象。我可以根据浏览器
生成htmls我想要的样本如下所示
if (IE)
{
<object id='audioPlayer' classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' type='application/x-oleobject'
height="42" width="250">
// giving parameters he
</object>
}
else if(!IE)
{
<object type="video/x-ms-wmv" data="<%: Model.recordSourcePath %>" width="251" id="audioPlayer"
height="42">
// giving parameters here
</object>
}
请注意,我使用的id是相同的。所以我可以一般地处理它们。有什么方法可以做这样的事吗?
答案 0 :(得分:1)
您正在寻找的内容被称为“IE条件评论”。我不会解释整个事情,而是链接到一篇为我做这件事的文章。
示例:
<!--[if IE]
<p>This is IE!</p>
![endif]-->
<!--[if !IE]>-->
<p>This isn't IE!</p>
<!--<![endif]-->
具体例子:
<!--[if IE]
<object id='audioPlayer' classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6' type='application/x-oleobject' height="42" width="250"></object>
![endif]-->
<!--[if !IE]>-->
<object type="video/x-ms-wmv" data="<%: Model.recordSourcePath %>" width="251" id="audioPlayer" height="42"></object>
<!--<![endif]-->
此方法仅适用于区分不同版本的IE,并且作为一般性,不是IE的浏览器。例如,您可以为IE6创建一个版本,为IE7,IE8和IE9创建另一个版本,为所有其他浏览器创建另一个版本。但是,你不能使用这种方法为firefox提供一个特定的输出。
答案 1 :(得分:0)
你可以完全避免黑客攻击(条件代码)并使用这样的玩家:http://www.jplayer.org/
它将为您提供功能更丰富的播放器,并保证兼容性。