Avatar ·

如何使用JavaScript获取当前页面的URL?

大家好!我是JavaScript新手,正在编写一个小型web应用。我需要获取当前页面的完整地址,例如,将其传递给反馈表单或保存到localStorage用于分析。 我尝试过写类似 `window.url` 的代码,但不起作用。后来我搜索到有一个 `location` 对象,但对其属性感到困惑。我需要的是浏览器地址栏中显示的内容,包括协议(http/https)、域名、路径以及可能的查询参数。 以下是我的尝试示例: ```javascript let currentUrl = window.location; console.log(currentUrl); ``` 控制台输出的是一个对象,而不是字符串。如何获取地址的字符串?以及能否将URL拆分为各个部分:单独协议、单独主机、单独路径?感谢提供带有解释的详细示例。提前谢谢! <<>>

通过 window.location 对象获取完整URL及其各部分

你的方向是正确的——window.location 对象包含了当前页面的URL信息。要获取完整的URL字符串,可以使用 window.location.href。例如:

let fullUrl = window.location.href;
console.log(fullUrl); // 输出类似 "https://example.com/page?param=value"

要拆分URL的各部分,可以使用以下属性:

  • window.location.protocol — 协议(如 "https:")
  • window.location.hostname — 主机名(如 "example.com")
  • window.location.port — 端口号(如 "8080",如果没有则为空字符串)
  • window.location.pathname — 路径(如 "/page")
  • window.location.search — 查询字符串(如 "?param=value")
  • window.location.hash — 哈希值(如 "#section")

示例:

console.log(window.location.protocol); // "https:"
console.log(window.location.hostname); // "example.com"
console.log(window.location.pathname); // "/page"
console.log(window.location.search);   // "?param=value"