主要用到Location 对象,包含有关当前 URL 的信息,是 Window 对象的一个部分,可通过 window.location 属性来访问。
方法一、js获取项目根路径的方法
function getRootPath(){ var curPageUrl = window.document.location.href; var rootPath = curPageUrl.split("//")[0] + curPageUrl.split("//")[1].split("https://www.jb51.net/")[0] + curPageUrl.split("//")[1].split("https://www.jb51.net/")[1]; return rootPath; }
方法二 (window.document.location.href/window.document.location.pathname) ------------转自网络
function getRootPath_web() { //获取当前网址,如: :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); //获取主机地址,如: :8083 var localhostPaht = curWwwPath.substring(0, pos); //获取带"https://www.jb51.net/"的项目名,如:/uimcardprj var projectName = pathName.substring(0, pathName.substr(1).indexOf('https://www.jb51.net/') + 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('https://www.jb51.net/')); if (webName == "") { return window.location.protocol + '//' + window.location.host; } else { return window.location.protocol + '//' + window.location.host + 'https://www.jb51.net/' + 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('https://www.jb51.net/') + 1); var ad_projectlist = ',,web,html5,css,'; if(ad_projectlist.indexOf(','+projectName+',') < 0){ alert("web,html5,css几个目录代码不执行"); }