window.location.href 未被修改
window.location.href is not being modified
我有以下代码
var windowHref = window.location.href;
if (windowHref.includes('/project/')) {
var splitURL = windowHref.split('/');
window.location.href = windowHref.substring(0, windowHref.indexOf('#/project')) + '?projectId=' + splitURL[splitURL.length - 2];
}
window.location.reload(true);
执行上述代码前,window.location.href
的值为
https://localhost:44301/default.aspx#/project/16a76abd-5b5b-4c63-822f-2bfd7f133adc/home
执行后,我希望它的值像
https://localhost:44301/default.aspx?projectId=16a76abd-5b5b-4c63-822f-2bfd7f133adc
但是当行
window.location.href = windowHref.substring(0,windowHref.indexOf('#/project')) + '?projectId=' + splitURL[splitURL.length - 2];
被执行,window.location.href
保持不变。
以及
的结果
windowHref.substring(0,windowHref.indexOf('#/project')) + '?projectId=' + splitURL[splitURL.length - 2];
是
https://localhost:44301/default.aspx?projectId=16a76abd-5b5b-4c63-822f-2bfd7f133adc
我做错了什么?
我建议删除行 window.location.reload(true);
因为在使用 window.location.href
时不需要将客户端重定向到新页面
var href = window.location.href;
var index = href.indexOf('#/project/');
if(index!==-1){
var splitURL = href.substring(index,href.length).replace('#/project/','?projectId=').split('/');
window.location.href = splitURL[0];
}
我有以下代码
var windowHref = window.location.href;
if (windowHref.includes('/project/')) {
var splitURL = windowHref.split('/');
window.location.href = windowHref.substring(0, windowHref.indexOf('#/project')) + '?projectId=' + splitURL[splitURL.length - 2];
}
window.location.reload(true);
执行上述代码前,window.location.href
的值为
https://localhost:44301/default.aspx#/project/16a76abd-5b5b-4c63-822f-2bfd7f133adc/home
执行后,我希望它的值像
https://localhost:44301/default.aspx?projectId=16a76abd-5b5b-4c63-822f-2bfd7f133adc
但是当行
window.location.href = windowHref.substring(0,windowHref.indexOf('#/project')) + '?projectId=' + splitURL[splitURL.length - 2];
被执行,window.location.href
保持不变。
以及
的结果windowHref.substring(0,windowHref.indexOf('#/project')) + '?projectId=' + splitURL[splitURL.length - 2];
是
https://localhost:44301/default.aspx?projectId=16a76abd-5b5b-4c63-822f-2bfd7f133adc
我做错了什么?
我建议删除行 window.location.reload(true);
因为在使用 window.location.href
var href = window.location.href;
var index = href.indexOf('#/project/');
if(index!==-1){
var splitURL = href.substring(index,href.length).replace('#/project/','?projectId=').split('/');
window.location.href = splitURL[0];
}