查看: 311|回复: 0

js实现识别PC端与手机端并自动对应跳转的7种方法

[复制链接]

该用户从未签到

304

主题

323

帖子

850万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8503678
QQ
累计在线
12450分钟
发表于 2016-4-25 17:22:29 | 显示全部楼层 |阅读模式
如果您觉得本站不错,请访问下面的链接,您每天的首次访问,我可以得到4分钱,仅是一个网页,不修改浏览器首页,举手之劳,希望您能支持
支持我
  1. 随着移动互联网的热潮,以前的PC端网站都开始做相对应的移动端网站了,那么如何通过识别用户访问端来跳转相对应的网站呢?即:如果用户用手机访问你的PC站点,就会自动跳转到对应的移动站点;如果用户用电脑访问你的移动端站点,就会自动跳转到对应的PC端站点。

  2. 其实,要实现上面的PC\移动自动识别跳转方法很多,网络上常见的就一两种。今天,E良师益友网就为大家介绍一下的PC\移动自动识别跳转的7种方法:
  3. js判断手机访问跳转到手机站

  4. 第一种方法:
  5. <script>

  6. if(navigator.platform.indexOf('Win32')!=-1){

  7. //pc

  8. //window.location.href="电脑网址";

  9. }else{

  10. //shouji

  11. window.location.href="手机网址";

  12. }

  13. </script>

  14. 第二种方法:
  15. <script type="text/javascript">

  16. function browserRedirect() {

  17. var sUserAgent= navigator.userAgent.toLowerCase();

  18. var bIsIpad= sUserAgent.match(/ipad/i) == "ipad";

  19. var bIsIphoneOs= sUserAgent.match(/iphone os/i) == "iphone os";

  20. var bIsMidp= sUserAgent.match(/midp/i) == "midp";

  21. var bIsUc7= sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";

  22. var bIsUc= sUserAgent.match(/ucweb/i) == "ucweb";

  23. var bIsAndroid= sUserAgent.match(/android/i) == "android";

  24. var bIsCE= sUserAgent.match(/windows ce/i) == "windows ce";

  25. var bIsWM= sUserAgent.match(/windows mobile/i) == "windows mobile";

  26. if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {

  27. window.location.href= '手机网站地址';

  28. } else {

  29. window.location= '电脑网站地址';

  30. }

  31. }

  32. browserRedirect();

  33. </script>

  34. 第三种方法:
  35. <script type="text/javascript">

  36. var mobileAgent = new Array("iphone", "ipod", "ipad", "android", "mobile", "blackberry", "webos", "incognito", "webmate", "bada", "nokia", "lg", "ucweb", "skyfire");

  37. var browser = navigator.userAgent.toLowerCase();

  38. var isMobile = false;

  39. for (var i=0; i<mobileAgent.length; i++){ if (browser.indexOf(mobileAgent[i])!=-1){ isMobile = true;

  40. //alert(mobileAgent[i]);

  41. location.href = '手机网址';

  42. break; } }

  43. </script>

  44. 第四种方法:
  45. <?php

  46. ////这段放手机站里

  47. header("Cache-Control: no-cache");

  48. header("Pragma: no-cache");

  49. $ua = strtolower($_SERVER['HTTP_USER_AGENT']);

  50. $uachar = "/(symbianos|android|Mac OS|ucweb|blackberry)/i";

  51. if($ua != '' && !preg_match($uachar, $ua)){

  52. echo 'window.location.href="电脑地址";';

  53. exit();

  54. }

  55. ?>

  56. <?php

  57. //这段放在网站里

  58. header("Cache-Control: no-cache");

  59. header("Pragma: no-cache");

  60. $ua = strtolower($_SERVER['HTTP_USER_AGENT']);

  61. $uachar = "/(symbianos|android|Mac OS|ucweb|blackberry)/i";

  62. if($ua != '' && preg_match($uachar, $ua)){

  63. echo 'window.location.href="手机地址";';

  64. exit();

  65. }

  66. ?>

  67. 第五种方法:
  68. <?php

  69. function UserAgent(){

  70. $user_agent = ( !isset($_SERVER['HTTP_USER_AGENT'])) ? FALSE : $_SERVER['HTTP_USER_AGENT'];

  71. return $user_agent;

  72. }

  73. //Mobile

  74. if ((preg_match("/(iphone|ipod|android)/i", strtolower(UserAgent()))) AND strstr(strtolower(UserAgent()), 'webkit')){

  75. header('Location: 手机网址');

  76. exit;

  77. }else if(trim(UserAgent()) == '' OR preg_match("/(nokia|sony|ericsson|mot|htc|samsung|sgh|lg|philips|lenovo|ucweb|opera mobi|windows mobile|blackberry)/i", strtolower(UserAgent()))){

  78. header('Location: 手机网址');

  79. exit;

  80. }else{//PC

  81. header("Location: 电脑网址");

  82. }

  83. ?>

  84. 第六种方法,也可以把名为uaredirect的文件下载到自己网站上引入;
  85. <script src="http://siteapp.baidu.com/static/webappservice/uaredirect.js" type="text/javascript"></script><script type="text/javascript">uaredirect("http://m.429006.com");</script>

  86. 仔细看了下这个js文件:uaredirect.js

  87. function uaredirect(f){try{if(document.getElementById("bdmark")!=null){return}var b=false;if(arguments[1]){var e=window.location.host;var a=window.location.href;if(isSubdomain(arguments[1],e)==1){f=f+"/#m/"+a;b=true}else{if(isSubdomain(arguments[1],e)==2){f=f+"/#m/"+a;b=true}else{f=a;b=false}}}else{b=true}if(b){var c=window.location.hash;if(!c.match("fromapp")){if((navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i))){location.replace(f)}}}}catch(d){}}function isSubdomain(c,d){this.getdomain=function(f){var e=f.indexOf("://");if(e>0){varh=f.substr(e+3)}else{var h=f}var g=/^www\./;if(g.test(h)){h=h.substr(4)}return h};if(c==d){return 1}else{var c=this.getdomain(c);var b=this.getdomain(d);if(c==b){return 1}else{c=c.replace(".","\\.");vara=new RegExp("\\."+c+"$");if(b.match(a)){return 2}else{return 0}}}};

  88. 7.第七种方法 PC跳转手机 与手机跳转到PC

  89. 这个代码放在PC模板的代码里面

  90. <script type="text/javascript">

  91. //平台、设备和操作系统

  92. var system ={

  93. win : false,

  94. mac : false,

  95. xll : false

  96. };

  97. //检测平台

  98. var p = navigator.platform;

  99. system.win = p.indexOf("Win") == 0;

  100. system.mac = p.indexOf("Mac") == 0;

  101. system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
  102. if(system.win||system.mac||system.xll){

  103. }else{
  104. window.location.href="手机网址";
  105. }
  106. </script>
  107. -----------------------------------------------------------
  108. 这个代码放在手机网站模板里面
  109. <script type="text/javascript">

  110. //平台、设备和操作系统

  111. var system ={

  112. win : false,

  113. mac : false,

  114. xll : false

  115. };

  116. //检测平台

  117. var p = navigator.platform;

  118. system.win = p.indexOf("Win") == 0;

  119. system.mac = p.indexOf("Mac") == 0;

  120. system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
  121. if(system.win||system.mac||system.xll){
  122. window.location.href="PC网址";
  123. }else{

  124. }
  125. </script>
复制代码



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表