JavaScript获取当前url根目录(路径)

 更新时间:2016年06月17日 16:22:45   作者:YuanSong  
本文主要介绍JavaScript获取当前url根目录的方法,比较实用,需要的朋友可以参考一下。

主要用到Location 对象,包含有关当前 URL 的信息,是 Window 对象的一个部分,可通过 window.location 属性来访问。

方法一、js获取项目根路径的方法

function getRootPath(){
  var curPageUrl = window.document.location.href;
  var rootPath = curPageUrl.split("//")[0] + curPageUrl.split("//")[1].split("/")[0] 
          + curPageUrl.split("//")[1].split("/")[1];
  return rootPath;
}

方法二 (window.document.location.href/window.document.location.pathname) ------------转自网络

function getRootPath_web() {
 //获取当前网址,如: http://localhost:8083/uimcardprj/share/meun.jsp
 var curWwwPath = window.document.location.href;
 //获取主机地址之后的目录,如: uimcardprj/share/meun.jsp
 var pathName = window.document.location.pathname;
 var pos = curWwwPath.indexOf(pathName);
 //获取主机地址,如: http://localhost:8083
 var localhostPaht = curWwwPath.substring(0, pos);
 //获取带"/"的项目名,如:/uimcardprj
 var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1);
 return (localhostPaht + projectName);
}

方法三(window.location.pathname/window.location.protocol/window.location.host)

function getRootPath_dc() {
 var pathName = window.location.pathname.substring(1);
 var webName = pathName == '' ? '' : pathName.substring(0, pathName.indexOf('/'));
 if (webName == "") {
  return window.location.protocol + '//' + window.location.host;
 }
 else {
  return window.location.protocol + '//' + window.location.host + '/' + webName;
 }
}

注:

1、document默示的是一个文档对象,window默示的是一个窗口对象,一个窗口下可以有多个文档对象。
所以一个窗口下只有一个window.location.href,然则可能有多个document.URL、document.location.href------------转自网络

2、window.location.href和document.location.href可以被赋值,然后跳转到其它页面,document.URL只能读不克不及写------------转自网络

3、Location 对象详细信息参考w3school https://www.jb51.net/w3school/jsref/dom_obj_location.htm

脚本之家小编补充:

排除某些目录的广告实现

var pathName = window.document.location.pathname;
var projectName = pathName.substring(1, pathName.substr(1).indexOf('/') + 1);
var ad_projectlist = ',,web,html5,css,';
if(ad_projectlist.indexOf(','+projectName+',') < 0){
 alert("web,html5,css几个目录代码不执行");
}

以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 非常不错的不间断循环滚动类 兼容多浏览器

    非常不错的不间断循环滚动类 兼容多浏览器

    非常不错的不间断循环滚动类 兼容多浏览器...
    2006-12-12
  • prefers-color-scheme设置检测系统主题色

    prefers-color-scheme设置检测系统主题色

    这篇文章主要为大家介绍了prefers-color-scheme设置检测系统主题色实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • JS中Math对象使用示例(秒懂如何使用Math对象)

    JS中Math对象使用示例(秒懂如何使用Math对象)

    这篇文章主要给大家介绍了关于JS中Math对象使用的相关资料,Math和其他的对象不同,它不是一个构造函数,它属于一个工具类,不用创建对象,它里面封装了数学运算相关的属性和方法,需要的朋友可以参考下
    2024-06-06
  • JavaScript学习笔记之获取当前目录的实现代码

    JavaScript学习笔记之获取当前目录的实现代码

    用来获取当前目录的js代码,需要的朋友可以参考下,主要利用了split函数。
    2010-12-12
  • 微信公众号网页分享功能开发的示例代码

    微信公众号网页分享功能开发的示例代码

    这篇文章主要介绍了微信公众号网页分享功能开发的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • ES6对象操作实例详解

    ES6对象操作实例详解

    这篇文章主要介绍了ES6对象操作,结合实例形式详细分析了ES6对象创建、赋值、比较、合并等相关操作技巧与注意事项,需要的朋友可以参考下
    2020-05-05
  • 浅谈javascript中自定义模版

    浅谈javascript中自定义模版

    本文向我们简单介绍了javascript中自定义模板的2种方法,图文并茂,十分详细,这里推荐给小伙伴们。
    2015-01-01
  • 详解ES6 扩展运算符的使用与注意事项

    详解ES6 扩展运算符的使用与注意事项

    扩展运算符 (spread syntax) 是 ES6 提供的一种非常便捷的新语法,给我们操作数组和对象带来了非常大的便利,我在很多文章中也提到了这个语法。但是其实扩展运算符的用法还是比较多比较杂的,我用一篇文章来做一下总结,梳理一下扩展运算的语法和使用细节。
    2020-11-11
  • 利用JS实现scroll自定义滚动效果详解

    利用JS实现scroll自定义滚动效果详解

    这篇文章主要给大家介绍了关于利用JS如何实现scroll自定义滚动效果的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • csdn 博客中实现运行代码功能实现

    csdn 博客中实现运行代码功能实现

    有时候因为csdn的博客经常处理一些字符,导致代码很多情况下,都不能正常运行,给大家的阅读带来了麻烦,下面是脚本之家编辑简单的整理下。
    2009-08-08

最新评论