How to Check if URL exists using javascript

后端 未结 1 1256
生来不讨喜
生来不讨喜 2020-12-11 14:01

I need to check if a URL exists and redirect a user if it\'s not, we support various browsers (IE, Chrome, Firefox etc...) so the solution needs to be able to support all of

相关标签:
1条回答
  • 2020-12-11 14:32

    In the header of your page, place this javascript code:

            <script type="text/javascript">
    
            // Creates an object which can read files from the server
            var reader = new XMLHttpRequest();
    
            var checkFor = "fileToCheckFor.html";
    
            // Opens the file and specifies the method (get)
            // Asynchronous is true
            reader.open('get', checkFor, true);
    
            //check each time the ready state changes
            //to see if the object is ready
            reader.onreadystatechange = checkReadyState;
    
            function checkReadyState() {
    
                if (reader.readyState === 4) {
    
                    //check to see whether request for the file failed or succeeded
                    if ((reader.status == 200) || (reader.status == 0)) {
    
                    //page exists -- redirect to the checked
                    //checked for page
                    document.location.href = checkFor;
    
                    }
                    else {
    
                    //does nothing and quits the function
                    //if the url does not exist
                    return;
    
                    }
    
                }//end of if (reader.readyState === 4)
    
            }// end of checkReadyState()
    
            // Sends the request for the file data to the server
            // Use null for "get" mode
            reader.send(null);
    
        </script>
    


    This allows you to check whether or not a page exists on your server and redirect to it if it does. If the page does not exist, the javascript code does nothing and allows the current page to load.

    Edit: Fixed bugs and rewrote some of the code for clarity, appearance, and practicality.

    0 讨论(0)
提交回复
热议问题