Html 经典视图/移动视图开关?

Html 经典视图/移动视图开关?,html,redirect,mobile-website,Html,Redirect,Mobile Website,我正在用jQuery移动框架构建公司网站的一个版本。虽然通过javascript重定向让移动设备用户访问我们的移动站点相当容易,但我也不想阻止人们查看经典网站 实现这一目标的最佳方式是什么 我们的正常网站位于: 美国公司名称/ 我们的移动网站将位于: us.companyname.com/mobile 有一些限制,因为我们不持有域名,我们的英国同行持有,所以在companyname.com级别完成任何事情都需要一些耐心。基本上,如果任何来自北美的人来到companyname.com,他们会自动重

我正在用jQuery移动框架构建公司网站的一个版本。虽然通过javascript重定向让移动设备用户访问我们的移动站点相当容易,但我也不想阻止人们查看经典网站

实现这一目标的最佳方式是什么

我们的正常网站位于:

美国公司名称/

我们的移动网站将位于:

us.companyname.com/mobile

有一些限制,因为我们不持有域名,我们的英国同行持有,所以在companyname.com级别完成任何事情都需要一些耐心。基本上,如果任何来自北美的人来到companyname.com,他们会自动重定向到us.companyname.com


我可以完全访问我们的网站(在我来到这里之前,主要是用PHP和Expression engine编写的),只要我不把任何事情弄糟,我就可以自由地做任何事情。

是否需要这项工作:

  • 当用户从移动设备访问时,使用JavaScript将其重定向到

  • 在移动站点上,提供指向以下位置的经典视图的链接:


你所要做的就是将主页上的
窗口。location
重定向代码包装在
if
语句中,以确保noredirect标志未设置为true。唯一的挑战是隔离noredirect查询字符串,但可能会有所帮助。

首先,我不会用Javascript/query执行这些操作,因为如果用户没有激活js会怎么样?最好在服务器端执行此操作

大概是这样的:

$mobile = array("IPHONE", "IPAD");
$flagMobileVersion = false;
if($_SESSION['version']!="mobile"){ //happens only at first visit
for($i=0;$i<=count($mobile)-1;$i++){
    if(!strrpos(strtoupper($_SERVER['HTTP_USER_AGENT']), $mobile[$i]))
    {
        $flagMobileVersion = true;
        break;
    }
}

if($flagMobileVersion) {
$_SESSION['version'] = "mobile";
Header("www.mydomain.net/mobile"); //on first Visit
}
$mobile=array(“IPHONE”、“IPAD”);
$flagMobileVersion=false;
如果($_SESSION['version']!=“mobile”){//仅在首次访问时发生

对于($i=0;$i可能的副本:+1,使用cookie或会话变量绝对是最好的方法。我刚刚意识到,如果用户单击返回主页的链接,我的解决方案可能会崩溃,除非您设置一种更持久的方法来检查用户是否需要移动版本。非常感谢!虽然我们没有使用您的确切地说,我们决定使用它的服务器端。