Javascript 将移动用户重定向到应用程序下载一次
因此,大多数时候,当我浏览网络时,如果我去一个有应用程序的网站,它首先会把我带到一个登陆页面,上面写着bla bla,该网站更适合应用程序,请在这里下载或“不,谢谢”。然后在你这样做之后,它就不再问你这个问题了。实施此类行动的最简单方法是什么?使用javascript,我可以找到一个人是否在android上Javascript 将移动用户重定向到应用程序下载一次,javascript,php,android,cookies,laravel,Javascript,Php,Android,Cookies,Laravel,因此,大多数时候,当我浏览网络时,如果我去一个有应用程序的网站,它首先会把我带到一个登陆页面,上面写着bla bla,该网站更适合应用程序,请在这里下载或“不,谢谢”。然后在你这样做之后,它就不再问你这个问题了。实施此类行动的最简单方法是什么?使用javascript,我可以找到一个人是否在android上 var ua = navigator.userAgent.toLowerCase(); var isAndroid = ua.indexOf("android") > -1; //&a
var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
if(isAndroid) {
// Do something!
// Redirect to Android-site?
window.location = 'http://android.davidwalsh.name';
}
但是,我如何使这种情况只发生一次?我应该把它添加到哪一页?有什么想法吗?我在考虑cookie,但我不确定移动浏览器是否允许您以相同的方式添加cookie。您可以在第一次访问时设置cookie。下次访问时,如果检测到cookie,可以立即重定向它们。如下所示(未经测试):
var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
if(isAndroid) {
if (document.cookie.indexOf("mobile") >= 0) {
//user has visited already on mobile so redirect immediately
window.location = 'http://android.davidwalsh.name';
} else {
expiry = new Date();
expiry.setTime(date.getTime()+1000000);
//First time here - show a message, set a cookie and redirect etc.
document.cookie = "mobile=yes; expires=" + expiry.toGMTString();
window.location = 'http://android.davidwalsh.name';
}
}