首页 > 解决方案 > 像 window.location 这样的 URL 的 Javascript 强类型

问题描述

使用普通的 JS,我想获取当前的 window.location,修改它的一些部分并对结果进行字符串化——而不改变当前的位置。

伪代码:

var oauth_redirect_uri = window.location.deep_clone();
oauth_redirect_uri.hash = "#OAuthCallback/EmailProvider";
var oauth_parameters = {
    redirect_uri: oauth_redirect_uri.toString()
};

我必须使用什么代码来代替“deep_clone”函数?

标签: javascript

解决方案


尝试new URL()

var oauth_redirect_uri = new URL(window.location);
oauth_redirect_uri.hash = "#OAuthCallback/EmailProvider";
var oauth_parameters = {
    redirect_uri: oauth_redirect_uri.toString()
}

console.log('window.location', window.location.toString())
console.log('oauth_parameters', oauth_parameters)

请参阅https://developer.mozilla.org/en-US/docs/Web/API/URL/URL


推荐阅读