gpt4 book ai didi

javascript - 如果用户在 iOS 设备上,隐藏 HTML 元素?

转载 作者:行者123 更新时间:2023-11-28 19:09:39 28 4
gpt4 key购买 nike

我希望代码检查用户是否在 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)计算机上。

很想听听大家对此的看法。

最佳答案

jsFiddle example here.

首先,它应该被包裹在 $(document).ready 中:

$(document).ready(function(){  
var iOS = false,
p = navigator.platform;
if( p === 'iPad' || p === 'iPhone' || p === 'iPod' ) {
iOS = true;
}
if (iOS === false) {
$("input[type=button]").hide();
}
});

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

根据规范,navigator.platform返回以下值之一:“Win32”、“Linux i686”、“MacPPC”、“MacIntel”——这些都不符合您的要求检查大小写。

但是,互联网上的其他来源seem to suggest它确实在各自的设备上返回“iPhone”、“iPad”等。由于我不拥有这些设备中的任何一种,因此无法验证该理论。但如果它没有按照建议工作,还有其他记录的方法来检测 iPhone、iPad 和 iPod - 请参阅 Detect iPad users using jQuery? .

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


旁注:

  1. 你应该只有一个 <body> , 并且可以合并两个单独的 <script>合二为一。
  2. 你不需要两者 <!DOCTYPE html><html> .删除 <html> .
  3. <input>应该用在 <form> 中的。
  4. 我还更改了来自 submit 的输入类型至 button .
  5. 作为@better_use_mkstemp提到,我认为不需要 autoplay您的 <input> 上的属性在此用例中(特别是因为您不希望它无论如何都可以在 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>

关于javascript - 如果用户在 iOS 设备上,隐藏 HTML 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16928091/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com