基于浏览器生成HTML

时间:2011-03-22 17:16:30

标签: html

我正在使用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是相同的。所以我可以一般地处理它们。有什么方法可以做这样的事吗?

2 个答案:

答案 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/

它将为您提供功能更丰富的播放器,并保证兼容性。