问题描述
我想在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>