javascript how to switch pathname of window.location property and redirect
I want to redirect a user from varying urls to a specific one. I've tried various flavors of replacing and I cant seem to get the behavior I want. This code works except I'm providing the hostname. I want to use the existing hostname from windows.location.hostname and just provide a new pathname. Sometimes the urls vary in size and slashes ('/').
window.location = 'http://localhost:36065/NewPath';
How would I change these urls?
http://somesite.com/xxx/yyy/zzz to http://somesite.com/NewPath
http://somesite.com/xxx/yyy to http://somesite.com/NewPath
http://somesite.com/xxx to http://somesite.com/N开发者_运维技巧ewPath
I think you get the point. The path can vary in paths, I want to replace everything after .com basically with 'NewPath'
I'd like a clean regex solution if possible but I am quite the rookie in that dept. Thanks for any tips or tricks.
location.pathname = '/newpath.html'
You could always use the various location
properties to recreate the part you need and append the new part to it:
window.location = location.protocol + "//" + location.hostname + "/NewPath";
Just to show the hard way:
// Find everything up to the first slash and save it in a backreference
regexp = /(\w+:\/\/[^\/]+)\/.*/;
// Replace the href with the backreference and the new uri
newurl = windows.location.href.replace(regexp, "$1/dir/foo/bar/newpage.html");
精彩评论