检测重定向并相应地显示网站

Detect redirect and display website accordingly

我有一个主网站,可以在必要时重定向到移动网站。移动站点看起来完全不同,并存储在子目录中。当移动用户选择查看主要(完整)网站时,我想:

  1. 重定向到完整站点

  2. 让完整站点检测重定向(因此它将显示为完整站点)

  3. 如果需要可以切换回移动版本。

完成这一切的最有效方法是什么?

这是我从主页面重定向到移动版本的方式:

if (screen.width < 1280) {
    window.location = "http://mainSite.com/mobile/home.html";
}

谢谢!

有几种方法可以做到这一点:

1) 您可以在 URL 中传递一个查询参数,让消费页面知道您的意图。

//m=0 means MobileVersion=No
window.location = "http://mainSite.com/home.html?m=0";

优点:容易做到

缺点:如果每个页面都执行此检查,则必须继续在每个页面上传递此参数。雅虎在他们的主页上这样做,但是当我点击一个子页面时,我再次获得移动版本,因为他们没有继续传递 URL 参数。

2) 使用cookie 来存储用户的网站版本偏好。然后在代码中再次检查。

正在设置 cookie:

document.cookie = 'prefmobile=0; expires=Thu, 1 Apr 2015 23:59:59 UTC; path=/'

优点:跨页面调用保持不变,不会弄乱 URL 参数。

缺点:如果用户的 cookie 被禁用...

然后,无论您是否需要,总是有强制移动的响应式设计。 ;)

或者只是有一个按钮,用户可以根据需要切换到不同的版本。如果屏幕宽度 < 1280.

,可能会在顶部显示一条非侵入性消息 div,上面写着 "Mobile version available--click here!"

希望对您有所帮助!