JS获取当前网址、主机地址项目根路径

获取当前网址、主机地址、项目根路径这些信息,常用于前端框架的开发中,例如:设置cookie、动态加载CSS、JS等资源、Ajax请求API等。

获取当前网址

我们可以使用 window.location 对象来获取当前网址,window.location.href 属性可返回当前页面的完整URL,包括协议、主机名、路径和查询部分。

const currentUrl = window.location.href;
console.log(currentUrl);

输出示例:

https://example.com/path/to/page.html?id=123

获取主机地址

window.location.host 属性可返回URL中的主机部分(包括端口号)。

const currentHost = window.location.host;
console.log(currentHost);

输出示例:

example.com

获取项目根路径

项目根路径通常指的是站点的根目录。例如,站点的根目录为 https://example.com/myApp/,则 myApp/ 即是项目的根路径。我们可以通过 window.location.pathname 属性获取当前URL的路径部分,再去掉路径中的文件名,即可得到项目的根路径。

const currentPath = window.location.pathname;
const currentPathArr = currentPath.split('/');
const rootPath = currentPathArr[1] ? '/' + currentPathArr[1] + '/' : '/';
console.log(rootPath);

输出示例:

/myApp/

另外,我们还可以使用正则表达式来获取项目根路径:

const regExp = /^\/[^\/]+/;
const rootPath = currentPath.match(regExp)[0];
console.log(rootPath);

例如,对于URL https://example.com/myApp/path/to/page.html,以上方法将返回 /myApp

以上就是获取当前网址、主机地址、项目根路径的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS获取当前网址、主机地址项目根路径 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • javascript实现可键盘控制的抽奖系统

    需要实现一个可键盘控制的抽奖系统,我们可以采用JavaScript语言编写代码。下面,我将详细介绍实现步骤: 步骤一:创建HTML页面 首先,我们需要在HTML页面中创建一个大转盘和一个按键,用户可以通过这个按钮来控制转盘的停止。 <!DOCTYPE html> <html> <head> <meta charset…

    JavaScript 2023年6月11日
    00
  • javascript实现日期按月份加减

    下面是详细的讲解“javascript实现日期按月份加减”的完整攻略。 一、需求分析 在实现日期按月份加减之前,我们首先需要理清楚需求,明确具体的要求和目标: 输入一个日期和月份增减的数字,输出增减后的日期 增减的数字可以是正数(表示加),也可以是负数(表示减) 如果增减后的日期超出了月份的天数限制,则应该自动调整至该月最后一天 输入的日期格式可以是常用的 …

    JavaScript 2023年5月27日
    00
  • 浅谈js中变量初始化

    浅谈js中变量初始化 在JavaScript中声明变量时,可以选择是否初始化变量,即为变量分配一个初始值。如果我们忘记为变量分配初始值,则变量的初始值将为undefined。 为什么要初始化变量? 初始化变量可以确保在使用变量之前,变量已经存储了一个值,从而减少出现意外错误的可能。在变量的使用中,确保它们拥有正确的初始值是良好的编程习惯。 变量定义时进行初始…

    JavaScript 2023年6月10日
    00
  • JavaScript几种数组去掉重复值的方法推荐

    对于JavaScript几种数组去掉重复值的方法推荐,我为您制作了详细攻略如下: 方案介绍 在JavaScript中,我们有许多不同的方法可以将数组中的重复项去除,以下是一些推荐的方法: 1. 使用 Set Set是ES6新增的数据类型,Set的特点是不允许出现重复的元素,可以很好地用来去除数组中的重复项。 let arr = [1, 2, 2, 3, 3,…

    JavaScript 2023年5月27日
    00
  • vue实现路由跳转动态title标题信息

    下面是vue实现路由跳转动态title标题信息的完整攻略: 使用vue-router管理路由 在vue中,我们可以使用vue-router管理路由,对应的npm包名为vue-router。使用vue-router能够方便的实现从页面跳转到另外一个页面,同时在页面跳转时可以动态修改页面的标题信息。具体步骤如下: 安装vue-router 在项目中使用vue-r…

    JavaScript 2023年6月11日
    00
  • JavaScript 微任务和宏任务讲解

    JavaScript 微任务和宏任务讲解 在 JavaScript 中,异步任务主要分为微任务和宏任务两种。宏任务可以理解为宏大的任务,就是需要花费比较长时间才能完成的任务,比如定时器、ajax 请求、DOM 事件等。微任务可以理解为小任务,比较轻量,基本上可以在当前任务完成后马上被执行,比如 Promise。 在执行异步任务时,引擎会将宏任务放入宏任务队列…

    JavaScript 2023年5月28日
    00
  • JS弹出新窗口被拦截的解决方法

    JS弹出新窗口的功能是在网页中常用的,但在很多情况下,弹出的新窗口会被浏览器的弹窗拦截器所拦截,导致网页运行结果不如预期。本篇攻略将会提供几种JS弹窗被拦截的解决方法。 一、使用window.open()打开新窗口 常规的弹出新窗口实现方式是使用window.open()方法,在这种情况下,浏览器的弹窗拦截器很容易就将其拦截。为了避免这种情况,我们可以设定新…

    JavaScript 2023年6月11日
    00
  • JavaScript 文件加载与阻塞问题之性能优化案例详解

    以下是“JavaScript 文件加载与阻塞问题之性能优化案例详解”的完整攻略。 什么是JavaScript文件加载与阻塞问题? 当我们为网站添加JavaScript代码时,我们通常需要在 HTML 文件中使用<script>标签引入 JavaScript 文件。但是,如果 JavaScript 文件非常大,它们可能会阻止页面的加载和渲染,导致用…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部