题 使用JavaScript获取当前网址?


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


2528
2018-06-23 19:26


起源


可能重复: 从URL获取协议,域和端口 - blong
stackoverflow.com/questions/406192/... - Nilesh Botre
我喜欢...... :-p - Peter verleg


答案:


使用:

window.location.href 

正如评论中所指出的那样,下面这一行有效,但是对于Firefox来说也是如此。

document.URL;

看到 DOMString类型的URL,只读


3153
2017-12-23 15:33



在Firefox 12中 document.URL a后属性不会更新 window.location 一个锚(#),而 window.location.href 确实。我在这里整理了一个现场演示: jsfiddle.net/PxgKy 我没有测试任何其他版本的Firefox。没有问题使用 document.URL 在Chrome 20和IE9中找到了。 - Telmo Marques
您也可以获得主机和清晰的位置: window.location.host 和 window.location.href.toString().split(window.location.host)[1] - ali youhannaei
是什么 document.baseURI 那时候。基本上有3种方法可以获取网址 document.baseURI, document.URL,& location。 - Muhammad Umer
-1:如果您有框架,图像或表单 name="URL" 然后这个属性将被遮蔽 document 对象和你的代码将破裂。在这种情况下, document.URL 将改为引用DOM节点。最好使用全局对象的属性,如 window.location.href。 - Roy Tinker
获胜的“window.location.href” - GabrielBB


URL信息访问

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

var currentLocation = window.location;

基本URL结构

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

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

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

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

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

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

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

  • HREF  - 整个网址
  • 协议  - URL的协议
  • 主办  - URL的主机名和端口
  • 主机名  - URL的主机名
  • 港口  - 服务器用于URL的端口号
  • 路径  - URL的路径名
  • 搜索  - URL的查询部分
  • 哈希  - URL的锚点部分

我希望你得到答案..


523
2018-06-23 19:35



这对我来说是最好的答案。我敢打赌,这里的大多数人不只是在寻找如何获取当前网址,还包括答案中陈述的其他信息。谢谢@Nikhil - Jason Kim
它们不是“方法” window.location,但属性,和 这里我们有一个例子: var stringPathName = window.location.pathname。 - Peter Krauss
非常感谢,请不要路径名已包含initial /(至少在Google Chrome中) - Fabio C.
@FabioC。你可以删除它 substring。但是,当您想要使用重定向时,它可能很有用 document.location = "/page.html"; 将重定向到根页面 page.html - FindOut_Quran
请记住ie9 pathname 没有领先的斜杠,所以它可能是 index.html。 - AJcodez


同样的问题 有人问不到24小时前。引用自己:

使用 window.location 阅读和   写访问权限 位置   目的   与当前帧相关联。如果   你只想把地址作为一个   您可以使用只读字符串    document.URL,应该包含   与...相同的价值    window.location.href


309
2018-06-23 19:28



也可以看看 stackoverflow.com/questions/2430936/... - Christoph


获取当前页面URL:

window.location.href

249
2017-09-10 06:51



请注意,这是窗口的位置而不是文档的位置。 - Gumbo
这是同一件事。完整当前URL是指文档路径(外部地址)。 - Zanoni
它是否像document.url一样标准化? (我的意思是像w3c文件) - chendral
@chendral: w3.org/TR/Window/#location - Christoph
document 是规范定义的文档树的根。 window 通常是等价的,但可能不是在某些奇怪的情况下。 - broinjc


要获取路径,您可以使用:

alert("Url  ="+document.location);
alert("PathName  ="+ window.location.pathname);// Returns path only
alert("url  ="+window.location.href);// Returns full URL


30
2018-04-25 16:14





使用: window.location.href

如上所述, document.URL  没有更新 更新时 window.location。看到 MDN


26
2018-06-09 09:32





打开 开发者工具,在下面键入 安慰 并按 输入

window.location

例如:下面是当前页面上结果的屏幕截图。

enter image description here

从这里抓住你需要的东西。 :)


25
2018-03-26 06:10





  • 使用 window.location.href 获取完整的URL。
  • 使用 window.location.pathname 获取离开主机的URL。

18
2017-10-08 15:24



window.location.pathname不包含查询和散列片段 - OMGPOP