【问题标题】:Detect redirect and display website accordingly检测重定向并相应地显示网站
【发布时间】:2015-04-01 03:32:44
【问题描述】:

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

  1. 重定向到整个网站

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

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

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

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

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

谢谢!

【问题讨论】:

  • 只需在url 中添加一个类似于?disable=1 的标志,然后在上面的代码中添加and 条件,然后再签入该标志的网址

标签: javascript redirect mobile


【解决方案1】:

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

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

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

优点:容易做到

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

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

设置cookie:

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

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

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

无论您是否愿意,总会有响应式设计强制移动。 ;)

或者只有一个按钮,用户可以根据需要切换到不同的版本。也许在顶部显示一个非侵入性的消息 div,上面写着“移动版本可用——点击这里!”如果屏幕宽度

希望这会有所帮助!

【讨论】:

  • 感谢您的快速帮助!我认为在移动世界中禁用 cookie 的人并不多,但我将尝试使用这两种解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-12
  • 2012-11-12
  • 1970-01-01
  • 1970-01-01
  • 2013-10-11
  • 1970-01-01
相关资源
最近更新 更多