2013-04-24 133 views
4

属性我找添加控件属性基于用户代理字符串的视频标签的方法。添加或删除控件从HTML5 <video>标签

我不希望有控件属性出现在比iPad和Android以外的任何浏览器或设备。所以我认为用户代理是最好的识别方式,因为单词ipad和android都存在于各自的UA头文件中。

什么是实现我的目标的最佳途径? 我已经试过这没有运气:

<script type="text/javascript"> 
    var myVideo = document.getElementById("myVideo"); 
    var agent = navigator.userAgent.toLowerCase(); 
    var addAttr = (agent.indexOf('ipad')!=-1) || agent.indexOf('android')!=-1); 
    if (addAttr) { 
    myVideo.setAttribute("controls","controls"); 
    } 
    else { 
    document.write(""); 
    } 
</script> 

,这里是我的HTML5视频的东西

<video id="myVideo" width="1170" height="324" preload="metadata" autoplay="true"> 
    <source src="movie.mp4" type="video/mp4"> 
    <source src="movie.ogg" type="video/ogg"> 
    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
    codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,16,0" 
    width="1170" height="324" > 
    <param name="movie" value="movie.swf"> 
    <param name="quality" value="high"> 
    <param name="play" value="true"> 
    <param name="LOOP" value="false"> 
    <embed src="movie.swf" width="1170" height="324" play="true" loop="false" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" 
    type="application/x-shockwave-flash"> 
    </embed> 
    </object> 
</video> 

任何帮助,将不胜感激!

回答

4

您可以用jQuery做到这一点:

//Add 
$('#myVideo').prop("controls", true); 



//Remove 
$('#myVideo').prop("controls", false); 
2

而且没有jQuery的,令人惊讶的甚至更短:

​​
  • 基于你已经创建了一个变量为myVideo像你一样:

    VAR为myVideo =的document.getElementById( “为myVideo”);

希望这有助于:)