Javascript 如果screen.width<=480,只有一次,在它上面';第一次遇到移动设备

Javascript 如果screen.width<=480,只有一次,在它上面';第一次遇到移动设备,javascript,redirect,mobile,Javascript,Redirect,Mobile,我已经根据屏幕宽度创建了一个重定向 这一页是 我希望重定向只发生一次,当手机第一次在这里遇到“家”时: 我正在使用以下javascript将“主页”重定向到一个名为“关于我们手机”的页面,该页面的屏幕宽度不超过480: if (screen.width <= 480) { document.location = "about-us-mobile "; } if(screen.width简单,通过设置(法律术语:技术)cookie(不包含唯一信息) cookie选项是非常受跨浏览器

我已经根据屏幕宽度创建了一个重定向

这一页是

我希望重定向只发生一次,当手机第一次在这里遇到“家”时:

我正在使用以下javascript将“主页”重定向到一个名为“关于我们手机”的页面,该页面的屏幕宽度不超过480:

if (screen.width <= 480) {
    document.location = "about-us-mobile ";
}
if(screen.width简单,通过设置(法律术语:技术)cookie(不包含唯一信息)

cookie选项是非常受跨浏览器支持的,并且有很好的文档记录(除非用户将其关闭,这在目前非常流行,因为有意识工具,如共谋)。在这种情况下,如果您没有某种回退机制或优雅的降级,则会给用户带来“问题”。
如果您也依赖javascript,那么您的站点有两个要求:cookies和javascript。
因此,尽管javascript/cookie路由很容易实现,但从长远来看,再深入一点也无妨:

或者你也可以潜入本地网络存储,了解它当前的所有怪癖

您可以使用基于IP或类似的数据库将其登录到服务器上

还有一个选项是(如果仍然呈现html服务器端),重写/更改文档和脚本中的所有链接(使用GET变量)…
或.htaccess mod rewrite

我很忙…
您还可以使用2个子域:在前门捕获用户,将其重定向到您的分辨率/应用程序特定子域,并使用javascript函数history.replace()执行此操作;这样,用户无法在历史中导航回“前门”,因此他最终被困在子域的根目录下

塔达:p


因此,针对这一要求的正确长期解决方案从做出选择开始。

如果您将自己绑定到只是JavaScript,那么最好的选择可能是在您的站点识别维度后使用设置的GET变量。设置此变量将向每个页面指示相关链接应转到移动优化页面(您可以基于此GET var的存在[或否]动态创建链接)。实际上,您可以通过这种方式避免两个重定向。只需在站点内的每次单击中传递GET变量(这可以通过动态修改所有页面链接onload来完成)


如果您还有服务器端选项(可能是PHP),那么您有一个更漂亮的选项。您可以使用会话/cookie来存储当前用户是否是移动用户,并在设置会话后向web浏览器发送相应的链接。

如果(window.innerWidth好主意。我是一个JavaScript新手,但这听起来是一个很好的解决方案。哇。我喜欢历史替换,我没听说过。我肯定需要阅读我的JavaScript。一开始纯粹是一个“设计师”如果我能诱使用户去“复制”的话这将是非常棒的。我可能会花无数的时间来学习写这篇文章!非常感谢!呵呵,没问题。Microsoft IE9、firefox和??使用。不过最后别忘了接受答案:)我看不出这会有什么帮助。除非我遗漏了什么,否则这就是我想要避免的。它有一个重定向,迫使移动设备永远无法看到此页面。
if (window.innerWidth <= 480) {
    window.location = "https://galleryofjewels.businesscatalyst.com/home";
}