我正在使用jQuery Mobile框架构建我公司网站的一个版本。虽然通过javascript重定向将移动设备用户移植到我们的移动网站相当容易,但我也不想阻止人们查看经典网站。
实现这一目标的最佳方法是什么?
我们的常规网站位于:
us.companyname.com /
我们的移动网站位于:
us.companyname.com/mobile
存在一些限制,因为我们没有域名,我们的英国同行也这样做,因此在companyname.com级别完成任何工作需要一些耐心。基本上,如果来自北美的任何人来到companyname.com,他们将自动重定向到us.companyname.com。
我可以完全访问我们的网站(在我来之前主要使用PHP和表达引擎编写),只要我不搞乱任何东西,我就可以自由地做任何事情。
答案 0 :(得分:5)
首先,我不会用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
}
答案 1 :(得分:0)
这样的事情会起作用吗?
当用户从移动设备访问http://us.companyname.com时,请使用JavaScript将其重定向到http://us.companyname.com/mobile。
在移动网站上,提供指向http://us.companyname.com?noredirect=true的经典视图的链接
您需要做的就是将window.location
重定向代码包装在主页上的if
语句中,以确保noredirect标志未设置为true。唯一的挑战是隔离noredirect查询字符串,但this Stack Overflow question可能有所帮助。