Javascript window.location.href返回域名而不是完整URL

Javascript window.location.href返回域名而不是完整URL,javascript,jquery,Javascript,Jquery,我有以下代码: domain=window.location.href 现在的问题是,这个函数有时会工作,并返回完整的网站URL。有时它不起作用,它返回的是网站域,而不是完整的网站URL 我需要始终返回完整的网站URL 我怎样才能解决它? 还有另一种方法可以始终获取网站的完整URL?窗口。位置。主机名 和window.location.hostname如果你不想得到端口(比如,window.location.host='localhost:3000'和window.location.hostna

我有以下代码:

domain=window.location.href

现在的问题是,这个函数有时会工作,并返回完整的网站URL。有时它不起作用,它返回的是网站,而不是完整的网站URL

我需要始终返回完整的网站URL

我怎样才能解决它?
还有另一种方法可以始终获取网站的完整URL

窗口。位置。主机名

window.location.hostname
如果你不想得到端口(比如,
window.location.host='localhost:3000'
window.location.hostname='localhost'
我看你是这样写的

domain = window.location.href;
我100%确定您的变量正在被某个第三方脚本覆盖。如果您在一个函数中,请使用本地变量,通过
var
let
let
启动它们。let
的内存使用量更小,但它是在ES6中引入的,并不是所有人都使用它。因此
var
是您最好的选择。

var domain = window.location.href;

尽可能始终使用局部变量。这有助于避免这些问题,并降低内存使用率。

它何时返回一个,何时返回另一个?@VLAZ我不知道。随机。我有点怀疑。我在循环中运行了
window.location.href
,每次都得到相同的结果。这似乎不是随机的。@VLAZ。这就是问题所在。如果你这样做的话它从控制台返回完整的网站URL。但是如果你在脚本中使用,它在某些情况下不会返回完整的网站URL。看这里。他也发生了-?如果你发现它没有,那是一个浏览器错误,你应该向浏览器制造商报告。我鼓励你为这个任务创建一个ion,对于您向浏览器制造商报告的任何错误…window.location.hostname返回主机名。我需要始终获取网站的完整URL。恐怕这并不能回答问题。OP要求一个始终返回完整URL的属性。他们抱怨它偶尔只返回主机名,但这不是他们想要的谢谢。非常简单的解决方案!