使用JavaScript获取当前网址?

2882 javascript url

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

VolkerK.. 3551

使用:

window.location.href 

正如评论中所指出的那样,下面的一行有效,但它对Firefox来说是错误的.

document.URL;

请参阅DOMString类型的URL,readonly.

  • 在Firefox 12中,`document.URL`属性在`window.location`到锚(#)之后不会更新,而`window.location.href`则不会.我在这里整理了一个现场演示:http://jsfiddle.net/PxgKy/我没有测试任何其他版本的Firefox.在Chrome 20和IE9中找不到使用`document.URL`的问题. (142认同)
  • 你也可以获得主机和清除位置:`window.location.host`和`window.location.href.toString().split(window.location.host)[1]` (84认同)
  • -1:如果你有一个带有`name ="URL"`的框架,图像或表单,那么这个属性将在`document`对象上被遮蔽,你的代码就会中断.在这种情况下,`document.URL`将改为引用DOM节点.最好使用全局对象的属性,如`window.location.href`. (19认同)
  • 获胜的"window.location.href" (13认同)
  • 然后是什么`document.baseURI`.基本上有3种方法可以获取url`markin.baseURI`,`document.URL`和`location`. (7认同)

Nikhil Agraw.. 625

URL信息访问

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

var currentLocation = window.location;

基本URL结构

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

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

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

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

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

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

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

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

我希望你得到答案..

  • 它们不是`window.location`的"方法",而是属性,[这里我们有一个例子](http://stackoverflow.com/a/406208):`var stringPathName = window.location.pathname`. (7认同)

Christoph.. 317

用于window.location对与当前帧关联的位置对象的读写访问.如果您只想将地址作为只读字符串,则可以使用document.URL,其中应包含与之相同的值window.location.href.

  • 另见http://stackoverflow.com/questions/2430936/whats-the-difference-between-window-location-and-document-location-in-javascript/2431375#2431375 (19认同)

Zanoni.. 258

获取当前页面URL:

window.location.href

  • 这是同一件事.完整当前URL是指文档路径(外部地址). (16认同)
  • 请注意,这是窗口的位置而不是文档的位置. (3认同)
  • 它是否像document.url一样标准化?(我的意思是像w3c文件) (2认同)

Alireza.. 39

好的,使用纯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.href;

如果你想获得主机名,你可以使用window.location.pathname;

如果您需要单独获取协议,只需执行 window.location.hostname

此外,如果您的页面有window.location.protocol标签,您可以像下面这样:hash

所以window.location.hash一次处理...基本上:

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

window.location.href如果已经在窗口范围内也没有必要使用...

那么,在这种情况下,您可以使用:

location.protocol

location.hostname

location.pathname

location.hash

location.href

使用JavaScript获取当前网址


Sangeet Shah.. 38

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

console.log('document.location', document.location.href);
console.log('location.pathname',  window.location.pathname); // Returns path only
console.log('location.href', window.location.href); // Returns full URL


tmh.. 34

打开开发人员工具,在控制台中输入以下内容,然后按Enter键.

window.location

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

在此输入图像描述

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


Dorian.. 28

使用:window.location.href.

如上所述,document.URL 更新不会更新window.location.见MDN.


kishore.. 19

  • 使用window.location.href以获得完整的URL.
  • 使用window.location.pathname得到URL离开主机.

  • window.location.pathname不包含查询和散列片段 (4认同)

Bhaskar Bhat.. 16

您可以使用以下方法获取带有哈希标记的当前URL位置:

JavaScript的:

 // Using href
 var URL = window.location.href;

 // Using path
 var URL = window.location.pathname;

jQuery:

$(location).attr('href');


Rohan Patil.. 10

var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
       currentPageUrlIs = this.href.toString().toLowerCase(); 
}else{ 
       currentPageUrlIs = document.location.toString().toLowerCase();
}

上面的代码也可以帮助某人

  • 您将.toLowerCase()应用于实际更改它的URL.有些服务器区分大小写(linux等) (2认同)

Hitesh Sahu.. 8

添加结果以便快速参考

window.location的;

 Location {href: "/sf/ask/17360801/",
 ancestorOrigins: DOMStringList,
 origin: "https://stackoverflow.com",
 replace: ƒ, assign: ƒ, …}

document.location

  Location {href: "/sf/ask/17360801/", 
ancestorOrigins: DOMStringList,
 origin: "https://stackoverflow.com",
 replace: ƒ, assign: ƒ
, …}

window.location.pathname

"/questions/1034621/get-the-current-url-with-javascript"

window.location.href

"/sf/ask/17360801/"

location.hostname

"stackoverflow.com"


小智.. 7

对于包含查询字符串的完整URL:

document.location.toString().toLowerCase();

对于主机URL:

window.location

  • 您将.toLowerCase()应用于实际更改它的URL.有些服务器区分大小写(linux等) (11认同)