78 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			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)
							 |