Reputation: 419
I wanted to do some js analytics, so I would need to know how to get whatever the user entered in the address bar as a js variable so I can know what are the most common misspellings. That way I can make redirects for the most common misspellings to the correct adresses and reduce 404 page requests.
example of user input in browser:
https://stackoverflow.com/questions
.........................................
I have tried using
document.location
but that shows what page the user is on (i.e. 404 page address), not what they have typed
Upvotes: 41
Views: 85341
Reputation: 20148
JavaScript provides you many methods to get the current URL displaying in web browser address bar. You can use Location object property of the Window object to get these details.
console.log(' href => ' + window.location.href);
console.log(' host => ' + window.location.host);
console.log(' hostname => ' + window.location.hostname);
console.log(' port => ' + window.location.port);
console.log(' protocol => ' + window.location.protocol);
console.log(' pathname => ' + window.location.pathname);
console.log(' hashpathname => ' + window.location.hash);
console.log(' search=> ' + window.location.search);
reference: https://tecadmin.net/get-current-url-web-browser-using-javascript/
Upvotes: 28
Reputation: 10898
javascript: alert(window.location.hostname);
If you want to show the pathname, replace .hostname
with .pathname
.
Upvotes: 0
Reputation: 138
This is a good way to get the Reload link address, if there is one, which should have the URL that was typed in to the address bar.
var arr = [], l = document.links;
for(var i=0; i<l.length; i++) {
arr.push(l[i].href);
}
from: https://stackoverflow.com/a/3871370/1188090
Upvotes: 1
Reputation: 2387
Many content management systems preserve the url when you land on the 404 page, so you should be able to use document.location.href
, then just check the analytics on the error page.
Upvotes: 1
Reputation: 413976
You're going to have to do this on the server, since that's where the original 404 response comes from. The server definitely receives the bad URL, so all that has to happen is that you make your server preserve those somewhere.
Upvotes: 3
Reputation: 31006
This gives you the exact url the user is on:
document.location.href
There is no way of determining what the user typed before the request is submitted (for security-reasons).
Upvotes: 43