用js怎么获取当前页面的地址

用js怎么获取当前页面的地址

用JavaScript获取当前页面的地址

在JavaScript中,获取当前页面的地址非常简单,可以使用window.location对象来实现。window.location.href、window.location.pathname、window.location.hostname等属性可以分别获取完整URL、路径名和主机名。window.location对象提供了多种方法来获取和操作URL信息。接下来,我们将详细讨论这些属性和方法,并给出一些实际的代码示例。

一、window.location对象的基本属性

1. window.location.href

window.location.href 属性用于获取或设置当前页面的完整URL。它是最常用的属性,因为它包含了页面的全部信息,包括协议、主机名、端口号(如果有)、路径名和查询字符串。

let currentURL = window.location.href;

console.log(currentURL);

2. window.location.pathname

window.location.pathname 属性返回URL中的路径部分,不包括协议、主机名和查询字符串。它通常用于获取页面在服务器上的具体位置。

let pathName = window.location.pathname;

console.log(pathName);

3. window.location.hostname

window.location.hostname 属性返回URL中的主机名部分,不包括协议和路径名。它通常用于获取网站的域名。

let hostName = window.location.hostname;

console.log(hostName);

4. window.location.protocol

window.location.protocol 属性返回URL中的协议部分,包括冒号(如“http:”或“https:”)。它通常用于判断当前页面是通过HTTP还是HTTPS协议访问的。

let protocol = window.location.protocol;

console.log(protocol);

5. window.location.port

window.location.port 属性返回URL中的端口号部分。如果URL中没有指定端口号,则返回一个空字符串。

let port = window.location.port;

console.log(port);

6. window.location.search

window.location.search 属性返回URL中的查询字符串部分,包括问号(“?”)。它通常用于获取页面的查询参数。

let queryString = window.location.search;

console.log(queryString);

二、window.location对象的常用方法

1. window.location.assign()

window.location.assign() 方法用于加载新的文档。它与设置window.location.href的效果相同,但更加明确地表示这是一个重定向操作。

window.location.assign("https://www.example.com");

2. window.location.replace()

window.location.replace() 方法也用于加载新的文档,但它不会在浏览器的历史记录中创建一个新的记录。这意味着用户无法使用“后退”按钮返回到前一个页面。

window.location.replace("https://www.example.com");

3. window.location.reload()

window.location.reload() 方法用于重新加载当前文档。它可以选择性地强制从服务器重新加载,而不是从缓存中加载。

// 从缓存中重新加载

window.location.reload();

// 强制从服务器重新加载

window.location.reload(true);

三、使用示例

获取并解析查询字符串

有时我们需要获取URL中的查询参数并将其解析为一个对象。下面是一个简单的函数,可以将查询字符串解析为键值对对象:

function getQueryParams() {

let queryString = window.location.search.slice(1); // 去掉问号

let params = {};

if (queryString) {

queryString.split('&').forEach(pair => {

let [key, value] = pair.split('=');

params[decodeURIComponent(key)] = decodeURIComponent(value);

});

}

return params;

}

let queryParams = getQueryParams();

console.log(queryParams);

动态改变URL的查询参数

有时我们需要动态地改变URL中的查询参数而不重新加载页面。我们可以使用URLSearchParams对象来实现这一点:

function updateQueryParams(key, value) {

let url = new URL(window.location.href);

url.searchParams.set(key, value);

window.history.replaceState(null, null, url.toString());

}

// 使用示例

updateQueryParams('page', '2');

四、完整示例

下面是一个完整的示例,展示了如何使用上述方法和属性获取和操作URL信息:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>URL Example</title>

</head>

<body>

<script>

// 获取当前页面的URL

let currentURL = window.location.href;

console.log('Current URL:', currentURL);

// 获取路径名

let pathName = window.location.pathname;

console.log('Path Name:', pathName);

// 获取主机名

let hostName = window.location.hostname;

console.log('Host Name:', hostName);

// 获取协议

let protocol = window.location.protocol;

console.log('Protocol:', protocol);

// 获取端口号

let port = window.location.port;

console.log('Port:', port);

// 获取查询字符串

let queryString = window.location.search;

console.log('Query String:', queryString);

// 解析查询字符串

function getQueryParams() {

let queryString = window.location.search.slice(1);

let params = {};

if (queryString) {

queryString.split('&').forEach(pair => {

let [key, value] = pair.split('=');

params[decodeURIComponent(key)] = decodeURIComponent(value);

});

}

return params;

}

let queryParams = getQueryParams();

console.log('Query Params:', queryParams);

// 动态改变URL的查询参数

function updateQueryParams(key, value) {

let url = new URL(window.location.href);

url.searchParams.set(key, value);

window.history.replaceState(null, null, url.toString());

}

// 示例:将查询参数page的值设置为2

updateQueryParams('page', '2');

</script>

</body>

</html>

通过上述代码示例,我们可以看到如何在JavaScript中获取和操作当前页面的URL信息。这些方法和属性对于开发者来说非常实用,可以帮助我们实现各种动态页面操作和导航功能。

相关问答FAQs:

1. 用JavaScript如何获取当前页面的地址?

JavaScript提供了window.location对象,可以用来获取当前页面的地址。你可以使用window.location.href属性来获取完整的URL地址,或者使用window.location.pathname属性来获取URL的路径部分。

2. 如何使用JavaScript获取当前页面的地址并将其显示在网页上?

你可以使用以下代码来获取当前页面的地址,并将其显示在网页上:

<script>
  // 获取当前页面的地址
  var currentURL = window.location.href;
  
  // 将地址显示在网页上
  document.getElementById("currentURL").innerHTML = "当前页面的地址是:" + currentURL;
</script>

在上面的代码中,currentURL变量存储了当前页面的地址,然后使用document.getElementById()方法将其显示在网页上。

3. 如何使用JavaScript获取当前页面的域名?

要获取当前页面的域名,你可以使用window.location.hostname属性。下面是一个示例代码:

<script>
  // 获取当前页面的域名
  var currentDomain = window.location.hostname;
  
  // 将域名显示在网页上
  document.getElementById("currentDomain").innerHTML = "当前页面的域名是:" + currentDomain;
</script>

在上面的代码中,currentDomain变量存储了当前页面的域名,然后使用document.getElementById()方法将其显示在网页上。

文章包含AI辅助创作,作者:Edit2,如若转载,请注明出处:https://docs.pingcode.com/baike/3692656

赞 (0)
Edit2Edit2
免费注册
电话联系

4008001024

微信咨询
微信咨询
返回顶部