Use JavaScript to check if the Uniform Resource Locator (U.R.L.) contains a hash value (#text), as JavaScript includes some pre-built methods that make getting a specific target a simple task. This can be done by using the hash property in JavaScript, which can be accessed by initializing the window.location object. It simplifies the user interface and provides all-important web navigation.
To build this solution we need prior knowledge of the following topics -
HTML- Builds the skeleton of the page. Where we will use the internal tag.
HTML events (onclick(), onchange(), etc.)
JavaScript window object, position object, hash attribute.
The basic syntax used by this program is -
window.location.hash
Window - This is a JavaScript object that specifies the web browser frame. It handles methods specific to your browser. The properties of windows can be accessed through
grammar:
(window.property/methodName)
Location - It is a property of the window object that contains information about the current web page URL.
grammar:
window.location.propertyName
Hash - It is a property of the position object containing the text after #. If the URL contains "/tutorialspoint/#java". Then location.hash will return the value "java".
Step 1 - Create an HTML button using the
tagStep 2- Insert the onclick event in the button label
Step 3 - Create JavaScript arrow function checkHash().
Step 4 - Use the windowobject method location and the location method hash. Store the result of window.location.hash in a variable.
Step 5- Pass variables as conditions in if-else.
Step 6- If the variable passed in if-else is true, return "Hash found", otherwise if the variable passed is false, return "Hash not found" .
<!DOCTYPE html> <html lang="en"> <head> <title>Check the Hash in URL</title> <style> body{ border: 1px solid black; text-align: center; } </style> </head> <body> <p> <strong> OUTPUT HASH- </strong> <span id="outputVal" style="padding:3px;"> </span>// Output will be shown here </p> <button onclick="checkHash()">Check URL Hash</button><br> <a href="#java">add hash(#) to url</a><br> <!-- JavaScript function starts from here --> <script> checkHash=()=>{ var h = window.location.hash; if(window.location.hash){ document.getElementById("outputVal").innerText="Hash found "+h; document.getElementById("outputVal").style.background="lightgreen"; } else { document.getElementById("outputVal").innerText="No Hash Found"; document.getElementById("outputVal").style.background="tomato"; } } </script> <!-- JavaScript function ends here --> </body> </html>
After clicking on the anchor text -
In this state, the URL of the web page (http://127.0.0.1:3000/index.html) does not contain any #text, as shown in the address bar below, so window.location .hash will not be referenced to store anything in the variable, so it returns false and prints "Hash value not found."After clicking the anchor text, the value of the HTML attribute href="#java" is concatenated with the current URL, so window.location.hash contains the concatenated hash text "#java", so the name of the hash that returns true is stored in in variable "h" and "h" variable will be checked in if-else condition and its output will be displayed inside "outputVal" id container.
This provides the user with an interactive interface with directions to the hashed linked content. Location objects also have many beneficial properties, such as href, origin, pathname, and more. The Window object also provides various methods for operating the browser, such as location, history, open(), close(), etc.
The above is the detailed content of How to check if a URL contains a hash using JavaScript?. For more information, please follow other related articles on the PHP Chinese website!