js判断PC端还是移动端的代码小坑

我在写官网的时候做了pc和移动端两个,在通过网上查找了这样的代码,看着完全没问题,等放进去页面中后,PC端页面一直刷新,根本停不下来,找了类似js还是同样的问题。通过不断尝试后才发现,问题就是多了一行代码:

原代码例子:

<script type="text/javascript">
  //平台、设备和操作系统
  var system = {
  win: false,
  mac: false,
  xll: false,
  ipad:false
  };
  //检测平台
  var p = navigator.platform;
  system.win = p.indexOf("Win") == 0;
  system.mac = p.indexOf("Mac") == 0;
  system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
  system.ipad = (navigator.userAgent.match(/iPad/i) != null)?true:false;
  //跳转语句,如果是手机访问就自动跳转到" "里的页面
  if (system.win || system.mac || system.xll||system.ipad) {
  window.location.href = "  PC端网站名 ";
  } else {
  window.location.href = " 移动端端网站名   ";
  }
  </script>
  
  

修改后代码例子:

<script type="text/javascript">
  //平台、设备和操作系统
  var system = {
  win: false,
  mac: false,
  xll: false,
  ipad:false
  };
  //检测平台
  var p = navigator.platform;
  system.win = p.indexOf("Win") == 0;
  system.mac = p.indexOf("Mac") == 0;
  system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
  system.ipad = (navigator.userAgent.match(/iPad/i) != null)?true:false;
  //跳转语句,如果是手机访问就自动跳转到" "里的页面
  if (system.win || system.mac || system.xll||system.ipad) {
 //window.location.href = "PC端网站名";(在PC端引入js代码段时,这一行不能要,否则一直循环刷新,移动端同理)
  } else {
  
  window.location.href = " 移动端端网站名   ";
  }
  </script>

    原文作者:汢浢
    原文地址: https://segmentfault.com/a/1190000016038874
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞