Javascript Location object has a lot of information, which can be handy at times. I used to log the object each time I wanted to get the informations set, so this is a reference sheet for me and any awesome ones :D.

Insert console.log(window.location); on a page and load it, you find the information in browser console. A blank location object looks like this

window.location = {
	hash		: "",
	host		: "",
	hostname	: "",
	href	 	: "",
	origin		: "",
	pathname	: "",
	port		: "",
	protocol	: "",
	search		: "",
	replace		: 'function replace() { [native function] }',
	assign		: 'function assign() { [native function] }',
	reload		: 'function reload() { [native function] }'
}

Let’s find it in action, here is the console output for the url http://techstream.org:80/Bits/Javascript/Javascript-Location-Object?s=jacascript+location+object#test-hash

You might find a few more tags for the location object depending on your browser. This is a list if informations found by all major browsers at the time of publishing.

window.location = {
	hash		: "#test-hash",
	host		: "techstream.org",
	hostname	: "techstream.org",
	href	 	: "http://techstream.org/Bits/Javascript/Javascript-Location-Object?s=jacascript+location+object#test-hash",
	origin		: "http://techstream.org",
	pathname	: "/Bits/Javascript/Javascript-Location-Object",
	port		: "80",
	protocol	: "http",
	search		: "?s=jacascript+location+object",
	replace		: 'function replace() { [native function] }',
	assign		: 'function assign() { [native function] }',
	reload		: 'function reload() { [native function] }'
}

To make things interesting I have logged the location object on this page, so open your browser console and experience things in action.

Applications

The object finds its use in many situations, the use I encounter when preparing this article is to detect the existence of #hash at end of URL to solve the overlapping issue caused with Fixed header ( Issue on Github ) on Mozilla Support portal. I also used it a little back to detect the host and more.

A few applications I found with just a swipe of my experience as a web user are

  • JavaScript Redirect. window.location = ' Destination with http(s) ';
  • Detect the type of link, Domain, Search parameter, hash value and more

And lot more, this is the open web.