【发布时间】:2013-03-19 23:48:00
【问题描述】:
我正在创建网站的移动版本。几乎所有的主要工作都完成了,但一件令人困惑的事情正在成为我的障碍。我在主网站上粘贴了一些 javascript 代码,以将移动用户重定向到移动网站。现在在移动网站的页脚中,我也有到主网站的链接,以防移动用户希望访问它,他应该可以很容易地访问它。
但是当他点击重定向到主网站的链接时,他将被重定向回移动网站我应该如何解决这个问题....
我在考虑 PHP REFERRER
【问题讨论】:
我正在创建网站的移动版本。几乎所有的主要工作都完成了,但一件令人困惑的事情正在成为我的障碍。我在主网站上粘贴了一些 javascript 代码,以将移动用户重定向到移动网站。现在在移动网站的页脚中,我也有到主网站的链接,以防移动用户希望访问它,他应该可以很容易地访问它。
但是当他点击重定向到主网站的链接时,他将被重定向回移动网站我应该如何解决这个问题....
我在考虑 PHP REFERRER
【问题讨论】:
可以在这里找到一个很好的教程:http://mobile.tutsplus.com/tutorials/mobile-web-apps/mobile-browser-detection/
如果您想保留用户的选择,我正在考虑会话或 cookie。无论哪种方式,每次通过重定向代码时都要检查它,如果用户已经表达了他的选择,则不要运行代码。
【讨论】:
您可以在他们单击您的页脚链接时设置一个会话变量,并在每个请求上检查它。我不是 php 开发人员,但我们在网站上就是这样做的。
【讨论】:
http://detectmobilebrowsers.com/ 网站在几乎所有用于 Web 开发的语言中都有移动重定向代码 sn-ps。
【讨论】:
我会保持简单。 Github 有一个项目可以让这个过程变得简单。
【讨论】:
最后我使用了一个 php 函数来检查访问者是否正在使用移动浏览器。然后用这段代码让移动用户访问主站点:
if (is_mobile_browser()) {
$main_website_url= 'http://localhost/www/redsignal/';
$mobilesite_url = 'http://localhost/www/redsignal-mobile/';
$mobilesite_url_length = strlen($mobilesite_url);
$referring_path_url = substr($_SERVER['HTTP_REFERER'], 0 , $mobilesite_url_length);
if ($referring_path_url == $mobilesite_url)
{
header("Location:".$main_website_url);
}
else
{
header("Location:".$mobilesite_url);
}
}
【讨论】: