JavaScript Window Location Explained – Complete Guide
JavaScript is an essential programming language for web development, and one of its most powerful features is the ability to manipulate the browser’s window object. In this blog post, we’ll dive into the window.location object and examine how it can be used to navigate, manipulate, and gather information about the browser’s current URL. By the end of this post, you’ll have a complete understanding of the window.location object and its methods, properties, and use cases.
Understanding the window.location Object
The window.location
object is a part of the window object and provides information about the current document’s URL. It also allows you to manipulate and navigate the browser’s history. The window.location
object has several properties and methods that can be used to access and modify the current URL.
Properties of window.location
Let’s take a look at the properties of the window.location
object and what information they provide:
window.location.href
: The full URL of the current document, including the protocol, domain, port, path, and query string. For example, if the current URL ishttps://codedamn.com/blog/javascript-window-location
, the value ofwindow.location.href
would be the same.window.location.protocol
: The protocol used by the current URL, such ashttp:
orhttps:
.window.location.host
: The full domain and port of the current URL, such ascodedamn.com:80
(where 80 is the default port number for HTTP).window.location.hostname
: The domain name of the current URL, such ascodedamn.com
.window.location.port
: The port number used by the current URL. If no port number is specified, this property will be an empty string.window.location.pathname
: The path of the current URL, such as/blog/javascript-window-location
.window.location.search
: The query string of the current URL, including the leading question mark (?), such as?id=123&name=John
.window.location.hash
: The URL fragment identifier, including the leading hash symbol (#), such as#section-1
.
Methods of window.location
The window.location
object also provides several methods to manipulate and navigate the browser’s history:
window.location.assign(url)
: Loads a new document at the specified URL.window.location.replace(url)
: Replaces the current document with a new one at the specified URL without adding an entry to the browser’s history.window.location.reload(forcedReload)
: Reloads the current document. If theforcedReload
parameter is set totrue
, the browser will bypass the cache and request the document from the server.
Using window.location in Practice
Now that we’ve explored the properties and methods of the window.location
object, let’s see how they can be used in practice.
To navigate to a new page, you can use the window.location.assign()
method or simply set the window.location.href
property to the desired URL. For example:
// Using window.location.assign()
window.location.assign('https://codedamn.com/learn/javascript');
// Using window.location.href
window.location.href = 'https://codedamn.com/learn/javascript';
Both of these methods have the same effect: they load the specified URL in the current browser window.
Reloading the Current Page
To reload the current page, you can use the window.location.reload()
method:
// Reload the current page
window.location.reload();
// Force a reload, bypassing the browser cache
window.location.reload(true);
Replacing the Current Page
If you want to navigate to a new page without adding an entry to the browser’s history, you can use the window.location.replace()
method:
// Replace the current page with a new one
window.location.replace('https://codedamn.com/learn/javascript');
This method is useful when you want to prevent users from using the back button to return to the previous page.
Working with Query Strings
To access and manipulate the query string of the current URL, you can use the window.location.search
property. For example, you can retrieve the query string and parse its key-value pairs:
// Get the query string, e.g., '?id=123&name=John'
const queryString = window.location.search;
// Parse the query string into an object
const queryParams = new URLSearchParams(queryString);
// Access the values of the query parameters
const id = queryParams.get('id'); // '123'
const name = queryParams.get('name'); // 'John'
FAQ
Q: Can I use window.location to navigate to a different domain?
A: Yes, you can use window.location.assign()
or set window.location.href
to a URL from a different domain. However, due to the same-origin policy, you won’t be able to access or manipulate the content of the other domain’s pages.
Q: How can I get only the domain and protocol of the current URL?
A: You can concatenate the window.location.protocol
and window.location.hostname
properties to get the full domain and protocol of the current URL, like this:
const fullDomain = `${window.location.protocol}//${window.location.hostname}`;
Q: How can I change only the hash part of the current URL?
A: You can set the window.location.hash
property to the desired value:
window.location.hash = '#new-section';
This will update the URL’s hash without reloading the page.
Q: What is the difference between window.location.assign() and window.location.replace()?
A: The window.location.assign()
method loads a new URL and adds it to the browser’s history, allowing the user to navigate back to the previous page using the back button. The window.location.replace()
method loads a new URL and replaces the current page in the browser’s history, preventing the user from navigating back to the previous page.
We hope this guide has provided you with a comprehensive understanding of the JavaScript window.location object and its various properties and methods. As you continue to develop your JavaScript skills and work on web projects, you’ll find that window.location is an essential tool for managing and navigating browser URLs.
Sharing is caring
Did you like what Mehul Mohan wrote? Thank them for their work by sharing it on social media.
No comments so far
Curious about this topic? Continue your journey with these coding courses: