查看完整的网站,而不是iPhone上的移动版本

时间:2010-11-15 04:43:30

标签: javascript iphone redirect mobile-website

我有一个脚本可以检测您是否是iPhone用户,并重定向到更友好的iPhone页面。

<script  type="text/javascript">
    if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) 
    {
        location.replace("http://domain.com/iphone/");
    }
</script> 

这很好但有一个问题。通常,为用户提供查看完整网页的功能。但是,如果我链接到root,显然重定向将把它们发送到移动版本!

有关如何点击/iphone/点击链接的任何想法,他们可以转到/并留在那里。

2 个答案:

答案 0 :(得分:8)

当用户到达时,确定他们的浏览器类型 - 移动或完整 - 并设置具有此值的cookie。使用此cookie值来确定要显示的站点版本。如您所述,为移动用户提供“完整”网站的链接,但如果他们点击它,请运行快速脚本将cookie更新为“完整”值,然后将其重定向到完整网站。他们的cookie现已设置为完整网站,因此他们不会被退回到移动网站。

现在,如果cookie存在问题,您可以使用类似PHP的东西来设置会话值以维持会话的完整/移动状态,但这可能超出了原始问题的范围。

答案 1 :(得分:0)

查询字符串是要走的路(正如其他人所说的那样)。看看Facebook,如果你点击移动网站上的“完整网站”链接,它会重定向到www.facebook.com/login.php?m2w - m2w可能是MobileToWeb,这将阻止网站将用户重定向到移动网站。