js獲取當(dāng)前應(yīng)用根路徑contextPath完美方案

js
小云
175
2023-08-05 21:01:52

在JavaScript中獲取當(dāng)前應(yīng)用的根路徑contextPath有多種方案,下面是一個(gè)完美方案:

function getContextPath() {
var contextPath = "";
var scripts = document.getElementsByTagName('script');
for (var i = 0; i < scripts.length; i++) {
var src = scripts[i].src;
if (src.indexOf('contextPath.js') !== -1) {
var index = src.indexOf('contextPath.js');
contextPath = src.substr(0, index);
break;
}
}
return contextPath;
}

在頁(yè)面中引入一個(gè)名為contextPath.js的空白腳本文件,并在該文件中放置上述代碼。然后在其他JavaScript文件中通過(guò)調(diào)用getContextPath()函數(shù)即可獲取當(dāng)前應(yīng)用的根路徑。

這個(gè)方案的原理是通過(guò)遍歷頁(yè)面中所有的script標(biāo)簽,找到引用了contextPath.js的script標(biāo)簽,并從其src屬性中提取出當(dāng)前應(yīng)用的根路徑。由于該方案不依賴于具體的頁(yè)面路徑結(jié)構(gòu),因此在任何情況下都可以正確獲取根路徑。

需要注意的是,如果頁(yè)面中有多個(gè)名為contextPath.js的腳本文件,那么只有最后一個(gè)腳本文件會(huì)被正確解析。所以確保只在頁(yè)面中引入一個(gè)名為contextPath.js的腳本文件。

0