我想在 android phone 上隐藏元素并在 iOS 上显示它

I want to hide element on android phone and show it on 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

这个脚本似乎有效:) 我们所做的是将 class 指定为其 div。不知何故 class 没有自己做。

如果谁有很好的编码技能,可以把它做成一个插件,我会花钱的!但!请给插件起个很棒的名字。

<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>