freeCodeCamp/guide/english/javascript/location-object/index.md

78 lines
3.1 KiB
Markdown

---
title: Location Object
---
## Location Object
The "Location" object provides an API (Application Programming Interface) which enables retrieval of a URL, setting of a URL, or access to parts of a URL. It is already implemented for you by default on the Window and Document objects.
Note: There is no public standard that applies to the location object, but all major browsers support it.
### Location Object Properties
| Property | Description |
|----------|---------------------------------------------------------|
| hash | Sets or returns the anchor part (#) of a URL |
| host | Sets or returns the hostname and port number of a URL |
| hostname | Sets or returns the hostname of a URL |
| href | Sets or returns the entire URL |
| origin | Returns the protocol, hostname and port number of a URL |
| pathname | Sets or returns the path name of a URL |
| port | Sets or returns the port number of a URL |
| protocol | Sets or returns the protocol of a URL |
| search | Sets or returns the querystring part of a URL |
### Location Object Methods
| Method | Description |
|-----------|----------------------------------------------|
| assign() | Loads a new document |
| reload() | Reloads the current document |
| replace() | Replaces the current document with a new one |
### Examples
The location objects are accessible by:
```javascript
console.log(window.location);
// > https://guide.freecodecamp.org/javascript/location-object
console.log(document.location);
// > https://guide.freecodecamp.org/javascript/location-object
```
You can also set the Location object of an HTML `<a>` element or an HTML `<area>` element programmatically with JavaScript.
```javascript
var anchor = document.createElement('a');
anchor.url = "https://guide.freecodecamp.org/javascript/location-object";
```
Once you have an object with a URL set (including the window), the Location API allows you to access parts of the URL.
```javascript
console.log(anchor.protocol);
// > https:
console.log(anchor.host);
// > guide.freecodecamp.org (includes port number if applicable. Example: guide.freecodecamp.org:8080)
```
Other properties of "Location" you can access are:
- `anchor.hostname` - *guide.freecodecamp.org*
- `anchor.port` - *8080*
- `anchor.pathname` - */javascript/location-object*
- `anchor.origin` - *https://developer.mozilla.org*
If your URL contains parameters or hashes you can access them like so:
```javascript
// If your URL is https://guide.freecodecamp.org/javascript?param=location#other-properties
console.log(window.location.search);
// > "?param=location"
console.log(document.location.hash);
// > "#other-properties"
```
#### More Information:
<a href='https://www.w3schools.com/jsref/obj_location.asp' target='_blank' rel='nofollow'>W3C - Location Object</a>
[Location](https://developer.mozilla.org/en-US/docs/Web/API/Location)