使用查看常规站点JavaScript的选项检测iPad设备
我有一个JavaScript可以检测iPad并将其重定向到移动站点。我还有一个链接,允许用户离开移动站点查看整个站点。但是,当他们点击链接查看整个站点时,JavaScript会再次启动并将其重定向回移动站点。我该如何解决这个问题?下面是我的JavaScript代码示例使用查看常规站点JavaScript的选项检测iPad设备,javascript,Javascript,我有一个JavaScript可以检测iPad并将其重定向到移动站点。我还有一个链接,允许用户离开移动站点查看整个站点。但是,当他们点击链接查看整个站点时,JavaScript会再次启动并将其重定向回移动站点。我该如何解决这个问题?下面是我的JavaScript代码示例 if ((navigator.userAgent.indexOf('iPad') != -1)) { document.location = "http://www.sample.com/mobilego.aspx"; }
if ((navigator.userAgent.indexOf('iPad') != -1)) {
document.location = "http://www.sample.com/mobilego.aspx";
}
使用
sessionStorage
或localStorage
存储覆盖重定向的标志
例如,在移动站点上
if (window.sessionStorage) sessionStorage.setItem("beenOnMobileSite",true)
在主站点上
if ((navigator.userAgent.indexOf('iPad') != -1
&& !sessionStorage.getItem("beenOnMobileSite")) {
document.location = "http://www.sample.com/mobilego.aspx";
}
使用localStorage
而不是sessionStorage
使覆盖持久化
如果移动站点和主站点位于不同的服务器上,它们将无法访问相同的存储。一种解决方案是在主页的链接中添加一个参数,并在主页的脚本中检查该参数。如果参数存在,请像以前一样覆盖重定向,但也要像上面一样设置
会话存储
或本地存储
项以使其保持不变。设置一个表示他们想要完整版本的cookie,然后在重定向之前检查cookie。谢谢!这很有效。但是,如果我正在使用localStorage,而用户迁移到桌面站点并退出浏览器,当他们再次打开浏览器时,我如何将他们重定向回移动站点?如果您使用sessionStorage,我认为这会起作用,但我已经尝试过了,它甚至不允许我迁移到桌面站点。sessionStorage
应该满足您的需要(请参阅)-尝试时会发生什么情况?当我尝试时,它会在我第一次访问该地址时将我指向我的移动站点。但是,当我点击离开mobilesite并转到全职的链接时,它会将我重定向回我的mobilesite.Nevermind。它起作用了。只是iOS的更新已经过时了,还有一个bug影响了Safari浏览器,但它可以在Google Chrome上运行。谢谢