Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将移动用户重定向到应用程序下载一次_Javascript_Php_Android_Cookies_Laravel - Fatal编程技术网

Javascript 将移动用户重定向到应用程序下载一次

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

因此,大多数时候,当我浏览网络时,如果我去一个有应用程序的网站,它首先会把我带到一个登陆页面,上面写着bla bla,该网站更适合应用程序,请在这里下载或“不,谢谢”。然后在你这样做之后,它就不再问你这个问题了。实施此类行动的最简单方法是什么?使用javascript,我可以找到一个人是否在android上

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';

            }

        }