Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JavaScript current URL check

Tags:

javascript

I am wondering how I would get JavaScript to check if a user is on a certain URL so i can build an if statement from the result.

My reasoning is that if a user clicks on a link in the menu and they are currently on trucks.php the javascript will redirect them to a certain page. If they are not on trucks.php they will be directed to a different page.

Cheers guys.

like image 566
Samuel Meddows Avatar asked Dec 02 '10 14:12

Samuel Meddows


2 Answers

The current location is in location.href.

The location object also contains some other useful fields:

  • location.hash: The part after the # in the URL
  • location.host: Hostname including port (if specified)
  • location.hostname: Just the hostname
  • location.pathname: The requested URI without protocol/host/port; starting with a /
  • location.port: The port - only if one is specified in the URL
  • location.protocol: Usually 'http:' or 'https:' - mind the colon at the end

In your case the most fail-safe way to check if the filename is trucks.php is this:

var parts = location.pathname.split('/');
if(parts[parts.length - 1] == 'trucks.php') {
    location.href = 'some-other-page';
}

If you want to redirect without keeping the current page in history, use the following code instead of the location.href assignment:

location.replace('some-other-page');
like image 172
ThiefMaster Avatar answered Oct 01 '22 22:10

ThiefMaster


Use window.location.href to get the current URL, or window.location.pathname to get just the path. For your specific problem, just the path name is required for the solution:

if (window.location.pathname == "/trucks.php")
    window.location = "/somewhereelse.php";

Check out the MDC documentation for window.location.

like image 43
Andy E Avatar answered Oct 01 '22 23:10

Andy E