开发者问题收集

用 JavaScript 获取当前 URL?

2009-06-23
3830853

我想要的只是获取网站 URL。而不是从链接中获取的 URL。在页面加载时,我需要能够获取网站的完整当前 URL,并将其设置为变量,以便随意处理。

3个回答

使用:

window.location.href

如评论中所述,下面这一行有效,但 Firefox 存在错误。

document.URL

请参阅 DOMString 类型 URL,只读

2009-06-23

URL 信息访问

JavaScript 为您提供了许多方法来检索和更改当前 URL,该 URL 显示在浏览器的地址栏中。所有这些方法都使用 Location 对象 ,它是 Window 对象的属性。您可以通过读取 window.location 来读取当前的 Location 对象:

let currentLocation = window.location;

基本 URL 结构

<protocol>//<hostname>:<port>/<pathname><search><hash>
  • protocol :指定用于访问 Internet 上的资源的协议名称。(HTTP(不使用 SSL)或 HTTPS(使用 SSL))

  • hostname :主机名指定拥有该资源的主机。例如, www.stackoverflow.com 。服务器使用主机名称提供服务。

  • 端口: 用于识别 Internet 或其他网络消息到达服务器时要转发到的特定进程的端口号。

  • 路径名: 路径提供有关 Web 客户端想要访问的主机内特定资源的信息。例如, /index.html

  • search: 查询字符串跟在路径组件后面,并提供资源可用于某些目的的信息字符串(例如,作为搜索的参数或要处理的数据)。

  • hash: URL 的锚点部分,包括井号 (#)。

使用这些 Location 对象属性,您可以访问所有这些 URL 组件以及它们可以设置或返回的内容:

  • href - 整个 URL - 即 window.location.href
  • protocol - URL 的协议
  • host - URL 的主机名和端口
  • hostname - URL
  • port - 服务器用于 URL 的端口号
  • pathname - URL 的路径名
  • search - URL 的查询部分
  • hash - URL 的锚点部分
  • origin - window.location.protocol + '//' + window.location.host
Nikhil Agrawal
2013-12-23

使用 window.location 来读取和写入与当前框架关联的 location 对象 。如果您只想以只读字符串的形式获取地址,则可以使用 document.URL ,它应包含与 window.location.href 相同的值。

Christoph
2009-06-23