How to make JS page redirect trigger before page load

I am using the following script to redirect visitors of a page to another page on first visit, however it loads the index.html page first, and then triggers the redirect. Can anyone point me in the direction of how I might trigger this script before the page loads?

<script type="text/javascript">
    function redirect(){
    var thecookie = readCookie('doRedirect');
    if(!thecookie){window.location = '/coming-soon.html';
    }}
    function createCookie(name,value,days){if (days){
    var date = new Date();date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";document.cookie = name+"="+value+expires+"; path=/";
    }
    function readCookie(name){
    var nameEQ = name + "=";var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++){
    var c = ca[i];while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);}
    return null;
    }
    window.onload = function(){redirect();createCookie('doRedirect','true','1');}
</script>

(the JS snippet used here was taken from Stack Overflow: JS to redirect to a splash page on first visit)

Thanks.

Answers:

Answer

You don't need to wait while window is loaded:

<script type="text/javascript">
    var thecookie = readCookie('doRedirect');
    if(!thecookie) {
       createCookie('doRedirect','true','1');
       window.location = '/coming-soon.html';
    };
    function createCookie(name,value,days){
      // do work
    }
    function readCookie(name){
      // do work
    }
</script>

Also Petr B. said right thing: server-side redirect is better in your case.

Answer

Try this How to Run a jQuery or JavaScript Before Page Start to Load.

Btw. if you want redirect without displaying page you must use php with cookies check.

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.