简体   繁体   English

自动移动站点重定向

[英]Auto Mobile Site Redirect

I just made my first jQuery mobile site.我刚刚制作了我的第一个 jQuery 移动网站。

I want to have people that view my "Full Site" with a mobile phone automatically get transferred to the "MOBILE SITE".我想让那些用手机查看我的“完整站点”的人自动转移到“移动站点”。 But also have the ability to click a link to view the Full site if they want.但也可以单击链接以查看完整站点(如果需要)。

I have no idea where to start.我不知道从哪里开始。 Is there some JavaScript I could use or something?有没有我可以使用的 JavaScript 之类的?

If you want to see what the sites look like, here is the Full Site: http://www.solera-restaurant.com and the mobile site is still on my testing server: http://graves-incorporated.com/test_sites/solera_mobile/如果您想查看站点的外观,请访问完整站点: http : //www.solera-restaurant.com ,移动站点仍在我的测试服务器上: http : //graves-incorporated.com/test_sites /solera_mobile/

<script type="text/javascript">
        if (screen.width <= 720) {
        window.location = "mobile/index.php";
    }
</script>

Detecting Smartphones Using JavaScript: http://www.hand-interactive.com/resources/detect-mobile-javascript.htm使用 JavaScript 检测智能手机: http : //www.hand-interactive.com/resources/detect-mobile-javascript.htm

Detecting Mobile Devices Using PHP:http://www.hand-interactive.com/resources/detect-mobile-php.htm使用 PHP 检测移动设备:http ://www.hand-interactive.com/resources/detect-mobile-php.htm

iPhone & iPod Detection Using JavaScript使用 JavaScript 检测 iPhone 和 iPod

http://davidwalsh.name/detect-iphone http://davidwalsh.name/detect-iphone

if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
   if (document.cookie.indexOf("iphone_redirect=false") == -1) window.location = "http://graves-incorporated.com/test_sites/solera_mobile/";
}

The PHP PHP

if(strstr($_SERVER['HTTP_USER_AGENT'],'iPhone') || strstr($_SERVER['HTTP_USER_AGENT'],'iPod'))
{
  header('Location: http://yoursite.com/iphone');
  exit();
}

You can get the javascript here: https://github.com/sebarmeli/JS-Redirection-Mobile-Site您可以在此处获取 javascript: https : //github.com/sebarmeli/JS-Redirection-Mobile-Site

Documentation here: http://blog.sebarmeli.com/2010/11/02/how-to-redirect-your-site-to-a-mobile-version-through-javascript/此处的文档: http : //blog.sebarmeli.com/2010/11/02/how-to-redirect-your-site-to-a-mobile-version-through-javascript/

Here is one more mobile detection Javascript: https://github.com/miohtama/detectmobile.js这是另一个移动检测 Javascript: https : //github.com/miohtama/detectmobile.js

Make a javascript file and paste this code:制作一个 javascript 文件并粘贴以下代码:

(function(a,b){if(/android.+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))window.location=b})(navigator.userAgent||navigator.vendor||window.opera,'http://graves-incorporated.com/test_sites/solera_mobile/');

For those of you looking for a serverside solution since that is way more efficient check this link I just found, which is a quite comprehensive list of user agents you can check to redirect on : http://detectmobilebrowsers.com/对于那些正在寻找服务器端解决方案的人,因为这样更有效,请检查我刚刚找到的这个链接,这是一个非常全面的用户代理列表,您可以检查重定向: http : //detectmobilebrowsers.com/

For those of you that don't know the user agent is part of the header of the request and describes the client software that oriniganated the request.对于那些不知道用户代理的人来说,用户代理是请求标头的一部分,它描述了发起请求的客户端软件。 Basicly its a string that you can use to identify which device requested your web page.基本上它是一个字符串,您可以使用它来识别哪个设备请求了您的网页。

You could use something like Device Atlas to pick up if it is a mobile device and then send the appropriate version of the page.如果它是移动设备,您可以使用类似Device Atlas 的东西来识别它,然后发送相应版本的页面。

There are other hacks you can do to look at the devices user agent too.您还可以通过其他技巧来查看设备用户代理。

There are multiple ways listed here , including PHP.这里列出多种方法,包括 PHP。

The jQuery one sets the variable jQuery.browser.mobile : jQuery 设置变量jQuery.browser.mobile

/**
 * jQuery.browser.mobile (http://detectmobilebrowser.com/)
 *
 * jQuery.browser.mobile will be true if the browser is a mobile device
 *
 **/

After this you can redirect with ordinary JS, like this:在此之后,您可以使用普通 JS 进行重定向,如下所示:

if(jQuery.browser.mobile) window.location = 'mobile_url';

Remember that it's not good to redirect the user on every page. 请记住,在每个页面上都重定向用户是不好的。 Either make a separate mobile site or do it server-side (with eg PHP). 要么创建一个单独的移动站点,要么在服务器端创建(例如 PHP)。

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

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