开发者

javascript how to switch pathname of window.location property and redirect

开发者 https://www.devze.com 2023-04-13 07:59 出处:网络
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 w

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");
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号