使用 JavaScript 获取当前 URL?

IT技术 javascript url
2021-01-23 01:06:35

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

6个回答

用:

window.location.href

正如评论中所指出的,下面的行有效,但它在 Firefox 中被窃听。

document.URL

请参阅DOMString, readonly 类型的 URL

在 Firefox 12 中,document.URL属性不会在window.location锚点 (#)之后更新,而window.location.href会更新。我没有测试任何其他版本的 Firefox。document.URL在 Chrome 20 和 IE9 中未发现使用问题
2021-03-25 01:06:35
-1:如果您有一个框架、图像或表​​单,name="URL"那么此属性将在document对象上显示阴影并且您的代码将中断。在这种情况下,document.URL将改为引用 DOM 节点。最好使用全局对象的属性,如window.location.href.
2021-03-25 01:06:35
获胜的“window.location.href”
2021-03-26 01:06:35
和什么document.baseURI有关呢。基本上有 3 种方法可以获取 url document.baseURI, document.URL, & location
2021-04-07 01:06:35
你也可以得到主机和明确的位置:window.location.hostwindow.location.href.toString().split(window.location.host)[1]
2021-04-08 01:06:35

URL 信息访问

JavaScript 为您提供了许多方法来检索和更改当前显示在浏览器地址栏中的 URL。所有这些方法都使用Location对象,它是对象的一个​​属性Window您可以创建一个Location具有当前 URL的新对象,如下所示:

var currentLocation = window.location;

基本网址结构

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

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

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

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

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

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

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

  • href - 整个 URL
  • protocol - URL 的协议
  • host - URL 的主机名和端口
  • 主机名- URL 的主机名
  • port - 服务器用于 URL 的端口号
  • pathname - URL 的路径名
  • search - URL 的查询部分
  • hash - URL 的锚点部分

我希望你得到你的答案..

@法比奥C。您可以通过 删除它substring但是,当您想使用重定向document.location = "/page.html";将重定向到根页面时,它可能很有用page.html
2021-03-20 01:06:35
一个简单的建议:在上述基本 URL 结构中,有一个位置 for search,但在下面的描述列表中,它被称为query也许它们可以调和,或者可以添加进一步的解释。
2021-03-28 01:06:35
他们不是的“方法” window.location,但属性,我们在这里有一个例子var stringPathName = window.location.pathname
2021-03-31 01:06:35
它被称为“搜索”而不是“查询”
2021-03-31 01:06:35
这不仅仅回答了所陈述的问题。事实上,我大概在一个月前搜索了一种从 URL 字符串中获取一个或多个特定部分的好方法(我认为这可能是我试图获取的当前页面),即使其他问题更多-目标,他们的回答没有这个目的那么有用和直接。
2021-04-05 01:06:35

用于window.location与当前帧关联位置对象的读写访问如果您只想将地址作为只读字符串获取,您可以使用document.URL,它应该包含与window.location.href.

2021-03-22 01:06:35

获取当前页面 URL:

window.location.href
它是否像document.url一样标准化?(我的意思是像 w3c 文档)
2021-03-11 01:06:35
document是规范定义的文档树的根。window通常是等效的,但在某些奇怪的情况下可能不会。
2021-03-15 01:06:35
请注意,这是窗口的位置而不是文档的位置。
2021-04-03 01:06:35
这是同一件事。完整的当前 URL 是指文档路径(外部地址)。
2021-04-07 01:06:35

好的,使用纯 JavaScript 可以轻松获取当前页面完整 URL例如,在此页面上尝试此代码:

window.location.href;
// use it in the console of this page will return
// http://stackoverflow.com/questions/1034621/get-current-url-in-web-browser"

window.location.href属性返回当前页面的 URL。

document.getElementById("root").innerHTML = "The full URL of this page is:<br>" + window.location.href;
<!DOCTYPE html>
<html>

<body>
  <h2>JavaScript</h2>
  <h3>The window.location.href</h3>
  <p id="root"></p>
</body>

</html>

提到这些也不错:

  • 如果您需要相对路径,只需使用window.location.pathname;

  • 如果您想获取主机名,可以使用window.location.hostname;

  • 如果您需要单独获取协议,请使用 window.location.protocol

    • 另外,如果你的页面有hash标签,你可以得到它喜欢:window.location.hash

所以window.location.href一次性全部处理......基本上:

window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
    //true

window如果已经在窗口范围内,也不需要使用...

因此,在这种情况下,您可以使用:

location.protocol

location.hostname

location.pathname

location.hash

location.href

使用 JavaScript 获取当前 URL