繁体   English   中英

根据操作系统重定向

[英]Redirect based on operating system

我是新来的,如果这个问题是基本/愚蠢的,我深表歉意。 我对编码不太熟悉,所以请原谅我的无知/明显错误。 我尝试使用在线找到的代码片段将它们放在一起,幸运的是,我不必为此项目编写太多代码。

我试图基于操作系统自动重定向用户,并且确实在努力做到这一点。 这是我尝试使用的代码...假设我一无所知!

<head>
<script type="text/javascript">
<!--
var 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";

if( OSName == "Windows" )
{ 
window.location="http://www.driveweb.com/download-savvy-windows-free/";
}
else if ( OSName == "MacOS" )
{
window.location="http://www.driveweb.com/download-savvy-mac-free/";
}
else if ( OSName == "UNIX" )
{
window.location="http://www.driveweb.com/download-savvy-linux-free/";
}
else if ( OSName == "Linux )
{
window.location="http://www.driveweb.com/download-savvy-linux-free/";
}
else
{
window.location="http://driveweb.com/download-savvy-select/";
}
//-->
</script>
</head>

再次感谢,我衷心感谢您的帮助!

请改用用户代理,因为不赞成使用 appVersion。

function detectOS(){
   if (navigator.userAgent.indexOf("Win")!=-1) return "Windows";
   if (navigator.userAgent.indexOf("Mac")!=-1) return "MacOS";
   if (navigator.userAgent.indexOf("Linux")!=-1) return "Linux";
   if (navigator.userAgent.indexOf("OpenBSD")!=-1) return "OpenBSD";
   if (navigator.userAgent.indexOf("FreeBSD")!=-1) return "FreeBSD";
   if (navigator.userAgent.indexOf("NetBSD")!=-1) return "NetBSD";
   return undefined;
}

这看起来是正确的,尽管您遇到语法错误,但在Linux上缺少右引号

else if ( OSName == "Linux" )

除了缺少引号外,您还可以按以下方式优化代码以消除if elseif:

<head>
<script type="text/javascript">
if (navigator.appVersion.indexOf("Win")!=-1) window.location="http://mywindowsbased.url";
if (navigator.appVersion.indexOf("Mac")!=-1) window.location="http://myMACbased.url";
if (navigator.appVersion.indexOf("X11")!=-1) window.location="http://mX11based.url";
if (navigator.appVersion.indexOf("Linux")!=-1) window.location="http://mLinuxbased.url";
</script>
</head>

除此之外,对于不熟悉编码的人还不错。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM