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获取当前url根目录(路径)
- Author -
YuanSong声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@