在前端開發(fā)中,獲取相對路徑是一個非常常見的需求,它可以幫助我們快速構(gòu)建一個跨平臺的項目。
比如我們在開發(fā)一個多頁面應(yīng)用時,需要在多個頁面之間進(jìn)行相互跳轉(zhuǎn),這時候就需要獲取相對路徑,使得我們能快速的在不同頁面之間進(jìn)行跳轉(zhuǎn)。
下面我們就來詳細(xì)講解一下在javascript中如何獲取相對路徑。
首先,我們需要先明確什么是相對路徑。相對路徑是相對于當(dāng)前頁面所在的路徑來進(jìn)行引用的。
比如,在我們在一個名為“index.html”的頁面中,我們需要引用在“public”文件夾下的一個名為“main.css”的css文件,這時候相對路徑就是“./public/main.css”。
代碼如下:
但是如果當(dāng)前頁面的路徑發(fā)生了變化,比如在“public”文件夾下新建了一個名為“about.html”的頁面,在“about.html”頁面中引用“main.css”文件時,相對路徑就變成了“../public/main.css”。
代碼如下:
所以正確使用相對路徑可以使得我們代碼更加靈活,方便在不同的頁面中進(jìn)行引用。
接下來我們就通過實例來進(jìn)一步了解如何在javascript中獲取相對路徑。
首先,我們可以通過獲取當(dāng)前頁面的url來獲取當(dāng)前頁面所在的路徑。
代碼如下:
這個例子中,我們通過獲取當(dāng)前頁面的url,然后通過截取字符串的方式,將url中的文件名去掉,就可以得到當(dāng)前頁面所在的路徑。
但是這個方式有時候并不可靠,因為有些url會有其他參數(shù),比如“?id=123”,或者“#top”,這些都會對我們的路徑獲取造成影響。
所以更穩(wěn)妥的方式是通過使用document對象來獲取當(dāng)前頁面所在的路徑。
代碼如下:
這個方式會更加可靠,因為它只會返回當(dāng)前頁面的路徑,不會受到其他參數(shù)的影響。
最后,我們還可以通過使用HTML標(biāo)簽中的“ ”標(biāo)簽來指定當(dāng)前頁面的基準(zhǔn)路徑。
代碼如下:
這樣一來,我們在引用其他資源時就可以省去部分路徑了。
比如我們需要引用“http://example.com/js/main.js”這個js文件,我們只需要在代碼中寫:
代碼如下:
而不需要再寫出完整的路徑。
以上就是javascript中獲取相對路徑的方法。通過這些方法,我們可以在開發(fā)中更加方便的使用相對路徑,幫助我們快速構(gòu)建跨平臺的前端項目。
比如我們在開發(fā)一個多頁面應(yīng)用時,需要在多個頁面之間進(jìn)行相互跳轉(zhuǎn),這時候就需要獲取相對路徑,使得我們能快速的在不同頁面之間進(jìn)行跳轉(zhuǎn)。
下面我們就來詳細(xì)講解一下在javascript中如何獲取相對路徑。
首先,我們需要先明確什么是相對路徑。相對路徑是相對于當(dāng)前頁面所在的路徑來進(jìn)行引用的。
比如,在我們在一個名為“index.html”的頁面中,我們需要引用在“public”文件夾下的一個名為“main.css”的css文件,這時候相對路徑就是“./public/main.css”。
代碼如下:
<link rel="stylesheet" href="./public/main.css">
但是如果當(dāng)前頁面的路徑發(fā)生了變化,比如在“public”文件夾下新建了一個名為“about.html”的頁面,在“about.html”頁面中引用“main.css”文件時,相對路徑就變成了“../public/main.css”。
代碼如下:
<link rel="stylesheet" href="../public/main.css">
所以正確使用相對路徑可以使得我們代碼更加靈活,方便在不同的頁面中進(jìn)行引用。
接下來我們就通過實例來進(jìn)一步了解如何在javascript中獲取相對路徑。
首先,我們可以通過獲取當(dāng)前頁面的url來獲取當(dāng)前頁面所在的路徑。
代碼如下:
let url = window.location.href; let path = url.substring(0, url.lastIndexOf("/")); console.log(path);
這個例子中,我們通過獲取當(dāng)前頁面的url,然后通過截取字符串的方式,將url中的文件名去掉,就可以得到當(dāng)前頁面所在的路徑。
但是這個方式有時候并不可靠,因為有些url會有其他參數(shù),比如“?id=123”,或者“#top”,這些都會對我們的路徑獲取造成影響。
所以更穩(wěn)妥的方式是通過使用document對象來獲取當(dāng)前頁面所在的路徑。
代碼如下:
let path = document.location.pathname; let base = path.substring(0, path.lastIndexOf("/")); console.log(base);
這個方式會更加可靠,因為它只會返回當(dāng)前頁面的路徑,不會受到其他參數(shù)的影響。
最后,我們還可以通過使用HTML標(biāo)簽中的“
代碼如下:
<head> <base > </head>
這樣一來,我們在引用其他資源時就可以省去部分路徑了。
比如我們需要引用“http://example.com/js/main.js”這個js文件,我們只需要在代碼中寫:
代碼如下:
<script src="js/main.js"></script>
而不需要再寫出完整的路徑。
以上就是javascript中獲取相對路徑的方法。通過這些方法,我們可以在開發(fā)中更加方便的使用相對路徑,幫助我們快速構(gòu)建跨平臺的前端項目。