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


Posted in Javascript onJune 17, 2016

主要用到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://3water.com/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几个目录代码不执行");
}

以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
从父页面读取和操作iframe中内容方法
Jul 25 Javascript
jquery 滚动条事件简单实例
Jul 12 Javascript
javaScript中的this示例学习详解及工作原理
Jan 13 Javascript
运用jQuery定时器的原理实现banner图片切换
Oct 22 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
Jun 02 jQuery
vue页面使用阿里oss上传功能的实例(一)
Aug 09 Javascript
vue2.0实现的tab标签切换效果(内容可自定义)示例
Feb 11 Javascript
express框架下使用session的方法
Jul 31 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
May 06 Javascript
vue proxy 的优势与使用场景实现
Jun 15 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
Jul 30 Javascript
微信小程序实现选项卡滑动切换
Oct 22 Javascript
下一代Bootstrap的5个特点 超酷炫!
Jun 17 #Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
Jun 17 #Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
Jun 17 #Javascript
基于Bootstrap的UI扩展 StyleBootstrap
Jun 17 #Javascript
Bootstrap前端开发案例二
Jun 17 #Javascript
jQuery查看选中对象HTML代码的方法
Jun 17 #Javascript
Bootstrap前端开发案例一
Jun 17 #Javascript
You might like
Yii实现自动加载类地图的方法
2015/04/01 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
2016/03/05 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
通过遮罩层实现浮层DIV登录的js代码
2014/02/07 Javascript
node.js中使用node-schedule实现定时任务实例
2014/06/03 Javascript
jquery预加载图片的方法
2015/05/27 Javascript
Javascript中实现String.startsWith和endsWith方法
2015/06/10 Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
2016/01/07 Javascript
实例详解jQuery Mockjax 插件模拟 Ajax 请求
2016/01/12 Javascript
详解JavaScript for循环中发送AJAX请求问题
2020/06/23 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
微信QQ的二维码登录原理js代码解析
2016/06/23 Javascript
js复制内容到剪贴板代码,js复制代码的简单实例
2016/10/27 Javascript
nodejs搭建本地服务器并访问文件的方法
2017/03/03 NodeJs
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
JS中的算法与数据结构之栈(Stack)实例详解
2019/08/20 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
Python实现统计英文文章词频的方法分析
2019/01/28 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
巴黎卡诗加拿大官网:Kérastase加拿大
2018/11/12 全球购物
印度领先的眼镜电子商务网站:Lenskart
2019/12/16 全球购物
如何判断一段程序是由C 编译程序还是由C++编译程序编译的
2013/08/04 面试题
介绍一下Java中标识符的命名规则
2014/02/03 面试题
大学生优秀团员事迹材料
2014/01/30 职场文书
会计电算化专业求职信
2014/06/10 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
法定授权委托证明书
2014/09/27 职场文书
结婚纪念日感言
2015/08/01 职场文书
复制别人的成功真的会成功吗?
2019/10/17 职场文书
基于Redis位图实现用户签到功能
2021/05/08 Redis
spring cloud 配置中心native配置方式
2021/09/25 Java/Android
JavaScript设计模式之原型模式详情
2022/06/21 Javascript