在前端開發(fā)過程中,經(jīng)常需要獲取網(wǎng)頁的根目錄,以方便進行路徑拼接等操作。Javascript 提供了多種方式來獲取網(wǎng)頁的根目錄,在本文中我們將學(xué)習(xí)其中幾種常用的方式。
第一種獲取網(wǎng)頁根目錄的方式是使用 document 對象的 location 屬性獲取當(dāng)前網(wǎng)頁的 URL,并進行字符串處理,將最后一級目錄刪除后獲取根目錄。
let url = window.document.location.href; let pathArray = window.document.location.pathname.split('/'); let protocol = pathArray[1]; let host = pathArray[2]; let path = protocol + '//' + host + '/';
例如,當(dāng)前網(wǎng)頁 URL 為https://www.example.com/path/demo.html,則執(zhí)行以上代碼后,會得到網(wǎng)頁的根目錄https://www.example.com/。
第二種獲取網(wǎng)頁根目錄的方式是使用 window 對象的 location 屬性獲取當(dāng)前網(wǎng)頁的 URL,并直接截取第一個斜杠后的字符串。
let path = location.href.replace(location.pathname + location.search, '');
例如,當(dāng)前網(wǎng)頁 URL 為https://www.example.com/path/demo.html,則執(zhí)行以上代碼后,會得到網(wǎng)頁的根目錄https://www.example.com。
第三種獲取網(wǎng)頁根目錄的方式是使用base
標(biāo)簽,將網(wǎng)頁的基礎(chǔ)路徑設(shè)置為根目錄,然后通過 document 對象的baseURI
屬性獲取網(wǎng)頁的根目錄。
<!DOCTYPE html> <html> <head> <base href="https://www.example.com/"> </head> <body> <script> let path = document.baseURI; </script> </body> </html>
例如,當(dāng)在https://www.example.com/path/demo.html
中嵌入以上 HTML 代碼時,會得到網(wǎng)頁的根目錄https://www.example.com/。
總結(jié)來說,以上三種方式都可以獲取網(wǎng)頁的根目錄,但使用 base 標(biāo)簽的方式相對更簡潔明了。在實際開發(fā)中,可以根據(jù)需求選擇相應(yīng)的方式來方便地獲取網(wǎng)頁根目錄。