我想在Android手机上隐藏元素并在iOS上显示它

问题描述

我想在android上显示一些内容,并在iOS上将其隐藏。当然,反之亦然。

我使用此代码,但无法使其工作:(

<script type="text/javascript">
var OSName="UnkNown OS";
if (navigator.platform.indexOf("Win")!=-1) OSName="Windows";
if (navigator.platform.indexOf("Mac")!=-1) OSName="MacOS";
if (navigator.platform.indexOf("X11")!=-1) OSName="UNIX";
if (navigator.platform.indexOf("Linux")!=-1) OSName="Linux";
if (navigator.platform.indexOf("iPhone")!=-1) OSName="iOS";
if (navigator.platform.indexOf("Android")!=-1) OSName="Android";

document.write('Your OS: '+OSName);

if (OSName === 'Linux'){
    document.querySelector('.ios').innerHTML.style.display = 'none';
}
</script>

解决方法

使用navigator.appVersion.indexOf代替navigator.platform.indexOf,此答案中说明了完整的详细信息:Show or Hide Div based on OS

,

此脚本似乎可以工作:) 我们所做的是将类指定为其div。班级本身不知何故不做。

如果任何人都具有出色的编码能力,可以将其制作为插件,那将花费我的钱!但!请给插件起个很棒的名字。

<script>
let ios = document.querySelector('div.fusion-flex-container.ios');
let android = document.querySelector('div.fusion-flex-container.android');
let OSName = "Unknown OS";
if (navigator.appVersion.indexOf("Win") != -1) OSName = "Windows";
if (navigator.appVersion.indexOf("Mac") != -1) OSName = "MacOS";
if (navigator.appVersion.indexOf("X11") != -1) OSName = "UNIX";
if (navigator.appVersion.indexOf("Linux") != -1) OSName = "Linux";

document.write('Your OS: ' + OSName);

console.log(OSName);
if (OSName == "Windows") {
   ios.style.display = "none";
   console.log('windows');

} if (OSName == "Linux") {
   ios.style.display = "none";
    console.log('Linux');

} if (OSName == "MacOS") {
   android.style.display = "none";
    console.log('MasOS');


};
</script>