Javascript 如果用户在iOS设备上,是否隐藏HTML元素?

Javascript 如果用户在iOS设备上,是否隐藏HTML元素?,javascript,jquery,ios,html,Javascript,Jquery,Ios,Html,我希望代码检查用户是否在iOS设备上,如果不是,则隐藏HTML输入类型播放按钮 因此,在我的代码中,我确定如果我的iOS检查错误,隐藏播放按钮的代码是什么,或者两者都有: <!DOCTYPE html> <html> <head> <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

我希望代码检查用户是否在iOS设备上,如果不是,则隐藏HTML输入类型播放按钮

因此,在我的代码中,我确定如果我的iOS检查错误,隐藏播放按钮的代码是什么,或者两者都有:

<!DOCTYPE html>
<html>    
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>                               

<script type="text/javascript">             
    var iOS = false,
    p = navigator.platform;

    if( p === 'iPad' || p === 'iPhone' || p === 'iPod' ) {
      iOS = true;
    }               
    if (iOS === false) {                    
      $("input").hide();
    }
</script>

<script type="text/javascript">
    function load() {
        var vid = document.getElementById('vid');
        vid.addEventListener('ended', function() {
          /*    alert('video ended'); */
          /*   vid.load(); */
        },false);
    }
</script>

<title>NEW ENTRY TEST</title>
</head>

<body>

<body onload="load();">

<video id="vid" src="http://awp.diaart.org/ali/test/movies/testmovie.mov" width="640" height="480" autoplay></video>
<br>
<input type="submit" value="Play" onclick="document.getElementById('vid').play();">

</body>

</body>

</html>
基本上,我只想显示这个播放按钮,只有当用户在iOS设备上时

我知道它不工作,因为播放按钮仍然显示在普通的非iOS计算机上

很想听听大家对这件事的看法

首先,它应该包装在$document中。就绪:

现在,您剩下的唯一潜在问题是您的检查用例使用

根据规范,navigator.platform返回以下值之一: Win32、Linux i686、MacPPC、MacIntel—它们都不符合您的检查案例

然而,互联网上的其他消息来源称,它确实在各自的设备上退回了iPhone、iPad等。因为我没有这些设备,所以我无法验证这个理论。但是,如果它不能像建议的那样工作,那么还有其他记录在案的方法来检测iPhone、iPad和iPod——请参阅

一旦您测试了检测所有三种iOS产品的解决方案,请将其存储在p变量中,您的代码将按您的意愿运行

旁注:

您应该只有一个,并且可以将两个独立的合并为一个。 你不需要同时拥有和。拆下。 's应该用在's中。 我还将输入的类型从submit更改为button。 正如@better\u use\u mkstemp所提到的,我认为在这个用例中不需要自动播放属性,特别是因为您不希望它可以在iOS设备上播放。 更新的HTML:

<body onload="load();">
 <video id="vid" src="http://awp.diaart.org/ali/test/movies/testmovie.mov" width="640" height="480" autoplay></video>
  <br>  
  <input type="button" value="Play" onclick="document.getElementById('vid').play();"> 
</body>
首先,它应该包装在$document中。就绪:

现在,您剩下的唯一潜在问题是您的检查用例使用

根据规范,navigator.platform返回以下值之一: Win32、Linux i686、MacPPC、MacIntel—它们都不符合您的检查案例

然而,互联网上的其他消息来源称,它确实在各自的设备上退回了iPhone、iPad等。因为我没有这些设备,所以我无法验证这个理论。但是,如果它不能像建议的那样工作,那么还有其他记录在案的方法来检测iPhone、iPad和iPod——请参阅

一旦您测试了检测所有三种iOS产品的解决方案,请将其存储在p变量中,您的代码将按您的意愿运行

旁注:

您应该只有一个,并且可以将两个独立的合并为一个。 你不需要同时拥有和。拆下。 's应该用在's中。 我还将输入的类型从submit更改为button。 正如@better\u use\u mkstemp所提到的,我认为在这个用例中不需要自动播放属性,特别是因为您不希望它可以在iOS设备上播放。 更新的HTML:

<body onload="load();">
 <video id="vid" src="http://awp.diaart.org/ali/test/movies/testmovie.mov" width="640" height="480" autoplay></video>
  <br>  
  <input type="button" value="Play" onclick="document.getElementById('vid').play();"> 
</body>
试着取出if p=='iPad'语句,然后查看它是否隐藏了它。如果是这样,那就意味着它正在以iOS设备的形式读取平台。

尝试取出If
p=='iPad'语句,然后查看它是否隐藏了它。如果是这样,那就意味着它正在将平台作为iOS设备进行读取。

它是如何工作的?你查过p的值了吗?在iOS设备和非iOS设备上试用过吗?嘿,泽尼思,谢谢你的回复。“播放”按钮仍在普通计算机上加载,因此无法工作。此外,我对Javascript非常陌生。如何检查p的值?经过数小时的研究,我拼凑出了代码。它是怎么工作的?你查过p的值了吗?在iOS设备和非iOS设备上试用过吗?嘿,泽尼思,谢谢你的回复。“播放”按钮仍在普通计算机上加载,因此无法工作。此外,我对Javascript非常陌生。如何检查p的值?经过数小时的研究,我将代码拼凑在一起。此外,如果你真的希望有时使用“播放”按钮,请删除“自动播放”。您还可以为按钮设置一个id,并执行如下操作:document.getElementById'playButton.style.visibility='hidden';。这也是检查p值的一种简单方法,请执行alertp以使其弹出。@最好使用\u mkstemp True,我想知道是否需要自动播放。将与关于p变量的更多信息一起合并到编辑中。@Zenith$document.ready;不再需要:@JodyHeavener好吧,我能理解这篇文章,我几乎不用使用$document.ready,我想人们都有自己的偏好。但是,那篇文章提到了你是否想要函数..,但是这里的OP代码是松散的代码,与任何函数都没有关系。@Zenith-你把我带到了山顶的顶峰。你应该得到你的控制。非常感谢你从山上降下来。除此之外,如果你真的想有时使用播放按钮,请删除自动播放。您还可以为按钮设置一个id,并执行如下操作:document.getElementById'playButton.style.visibility='hidden';。也是一个简单的问题
要检查p的值,请执行alertp以使其弹出。@最好使用\u mkstemp True,我想知道是否需要自动播放。将与关于p变量的更多信息一起合并到编辑中。@Zenith$document.ready;不再需要:@JodyHeavener好吧,我能理解这篇文章,我几乎不用使用$document.ready,我想人们都有自己的偏好。但是,那篇文章提到了你是否想要函数..,但是这里的OP代码是松散的代码,与任何函数都没有关系。@Zenith-你把我带到了山顶的顶峰。你应该得到你的控制。非常感谢从山上降下的雨。