如何将webkit用户代理发送到一个站点版本,并将所有其余的发送到另一个站点版本


How to send webkit user agents to one site version and all the rest to another?

我是一个谦虚的平面设计师,正在努力学习开发。我有一个具有挑战性的问题,我需要一些非常明确和直接的帮助。从我的研究来看,我的解决方案似乎可以用PHP或Javascript来完成。我完全是两种语言的婴儿,但我不在乎用哪一种。对于像我这样的新手来说,最好是最容易的。

所以她是交易…

我有一个网站,我刚刚把一堆漂亮的webkit转换http://www.eameswords.com我想发送桌面Safari/Chrome到这个网站。我也想把iPad和iPhone发送到一个单独的触控版本。

踢球……

我也有这个网站的Adobe flash版本。它的互动性都是一样的。我想把IE、Firefox和Opera的用户代理发送到这个版本。

所以我有3个版本的网站!!

为了便于组织,我想把我网站的三个版本分别放在三个不同的文件夹里。

所以我需要三种类型的用户代理检测和三个重定向:

iPad,iPhone (mobile Safari)––––> folder01
Webkit浏览器(Safari/Chrome) -> folder02
所有其他浏览器(IE, Firefox等)————> folder03

这很疯狂,但我需要一些认真的帮助来完成这项工作。如果有人能给我一个直截了当的答案,我很乐意用我的任何设计技能来回报。我这么说是因为我需要有人把解写出来这样我才能处理它,从中学习。我真的不擅长拼凑代码。

提前谢谢你!!

检查签名的user-agent报头

例如,在PHP中:

$user_agent = $_SERVER["HTTP_USER_AGENT"];
//Condition checks: Does $user_agent equal the signature of a webkit browser?
//If not, redirect: header("Location: main.php?nonwebkit=true");

在User代理字符串中搜索是否存在"webkit"。如果它存在,很好。否则,将用户重定向到flash页面

jquery解决方案:

$(document).ready(function() {
     if(navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i)){
              window.location.replace("URL1");
        }
        else if ($.browser.webkit){
              window.location.replace("URL2");
        }
        else{
              window.location.replace("URL3");
        }
});