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) |