检测重定向并相应地显示网站
Detect redirect and display website accordingly
我有一个主网站,可以在必要时重定向到移动网站。移动站点看起来完全不同,并存储在子目录中。当移动用户选择查看主要(完整)网站时,我想:
重定向到完整站点
让完整站点检测重定向(因此它将显示为完整站点)
如果需要可以切换回移动版本。
完成这一切的最有效方法是什么?
这是我从主页面重定向到移动版本的方式:
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!"
希望对您有所帮助!
我有一个主网站,可以在必要时重定向到移动网站。移动站点看起来完全不同,并存储在子目录中。当移动用户选择查看主要(完整)网站时,我想:
重定向到完整站点
让完整站点检测重定向(因此它将显示为完整站点)
如果需要可以切换回移动版本。
完成这一切的最有效方法是什么?
这是我从主页面重定向到移动版本的方式:
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!"希望对您有所帮助!