最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript獲取當(dāng)前頁面路徑的三種方法

 更新時間:2024年05月17日 11:33:59   作者:sg_knight  
在Web開發(fā)中,我們經(jīng)常需要獲取當(dāng)前頁面的URL路徑,以便進行導(dǎo)航、數(shù)據(jù)加載或其他與頁面相關(guān)的操作,JavaScript提供了幾種方法來幫助我們實現(xiàn)這一功能,在本文中,我們將探討幾種常用的方法,需要的朋友可以參考下

引言

在Web開發(fā)中,我們經(jīng)常需要獲取當(dāng)前頁面的URL路徑,以便進行導(dǎo)航、數(shù)據(jù)加載或其他與頁面相關(guān)的操作。JavaScript提供了幾種方法來幫助我們實現(xiàn)這一功能。在本文中,我們將探討幾種常用的方法。

方法一:使用 window.location 對象

window.location 對象包含了關(guān)于當(dāng)前URL的詳細信息。你可以通過訪問其屬性來獲取URL的不同部分。

// 獲取完整的URL  
var fullUrl = window.location.href;  
console.log(fullUrl); // 輸出完整的URL,例如:https://example.com/page/index.html?param=value#section  
  
// 獲取路徑部分(不包括域名和查詢字符串)  
var pathname = window.location.pathname;  
console.log(pathname); // 輸出路徑部分,例如:/page/index.html  
  
// 獲取查詢字符串部分(包括問號)  
var search = window.location.search;  
console.log(search); // 輸出查詢字符串部分,例如:?param=value  
  
// 獲取哈希部分(包括井號)  
var hash = window.location.hash;  
console.log(hash); // 輸出哈希部分,例如:#section

方法二:使用 document.URL

document.URL 屬性也是一個簡單的選擇,它直接返回完整的URL。

var fullUrl = document.URL;  
console.log(fullUrl); // 輸出完整的URL,與window.location.href相同

方法三:使用 new URL() 構(gòu)造函數(shù)

在現(xiàn)代瀏覽器中,URL 構(gòu)造函數(shù)提供了更強大的URL解析和操作能力。通過它,你可以更細致地獲取URL的各個部分,并對其進行修改。

var urlObject = new URL(window.location.href);  
  
// 獲取協(xié)議(例如:"https:")  
var protocol = urlObject.protocol;  
console.log(protocol); // 輸出協(xié)議,例如:https:  
  
// 獲取主機名(例如:"www.example.com")  
var hostname = urlObject.hostname;  
console.log(hostname); // 輸出主機名  
  
// 獲取端口號(如果有的話)  
var port = urlObject.port;  
console.log(port); // 輸出端口號,默認為空字符串(如果使用的是默認端口)  
  
// 獲取路徑名(與window.location.pathname相同)  
var pathname = urlObject.pathname;  
console.log(pathname); // 輸出路徑名  
  
// 獲取搜索參數(shù)(作為URLSearchParams對象)  
var searchParams = urlObject.searchParams;  
console.log(searchParams.get('param')); // 輸出查詢字符串中名為'param'的參數(shù)值  
  
// 獲取哈希(與window.location.hash相同,但不包括井號)  
var hashWithoutPound = urlObject.hash.slice(1); // 移除井號  
console.log(hashWithoutPound); // 輸出哈希部分,例如:section

拓展知識:Javascript 獲取url路徑中的參數(shù)

需求

假設(shè)騎在路徑:https://localhost/zhaopin?name=aa&age=18&state=2,現(xiàn)在要獲取url中各參數(shù)的值,比如:當(dāng)請求name時獲取到aa,當(dāng)獲取到age時獲取到18。

理論基礎(chǔ)

let url = document.location.toString();//獲取url地址
 
let urlParmStr = url.slice(url.indexOf('?')+1);//獲取問號后所有的字符串
 
let arr = urlParmStr.split('&');//通過&符號將字符串分割轉(zhuǎn)成數(shù)組
 
let courseId = arr[0].split("=")[1];//獲取數(shù)組中第一個參數(shù)
 
let unit_title=arr[1].split("=")[1];//第二個參數(shù)
 
unit_title=decodeURI(unit_title);//轉(zhuǎn)碼將解碼方式unscape換為decodeURI,將中文參數(shù)獲取
 
console.log(unit_title);

解決方案

方法一:

function getUrlVariable(variable) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0] == variable) {
            return pair[1];
        }
    }
	//返回boolean類型的數(shù)據(jù)
    return (false);
}

方法二:

function getUrlParameter(name) {
    name = name.replace(/[]/, "\[").replace(/[]/, "\[").replace(/[]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.parent.location.href);
    if (results == null)
        return "";
    else {
        return results[1];
    }
}

測試

測試路徑:https://localhost/zhaopin?name=aa&age=18&state=2

<script>
	let name =getUrlVariable("name");
	console.log(name);
</script>

總結(jié)

以上就是在JavaScript中獲取當(dāng)前頁面路徑的幾種常用方法。每種方法都有其獨特的用途和優(yōu)點,你可以根據(jù)具體需求選擇適合你的方法。無論你選擇哪種方法,都能輕松地獲取到當(dāng)前頁面的路徑并進行相應(yīng)的操作。

在大多數(shù)情況下,使用 window.location 或 document.URL 就足夠了,但如果你需要更復(fù)雜的URL處理或修改,那么 URL 構(gòu)造函數(shù)將是一個更好的選擇。

到此這篇關(guān)于JavaScript獲取當(dāng)前頁面路徑的三種方法的文章就介紹到這了,更多相關(guān)JavaScript獲取頁面路徑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS顯示下拉列表框內(nèi)全部元素的方法

    JS顯示下拉列表框內(nèi)全部元素的方法

    這篇文章主要介紹了JS顯示下拉列表框內(nèi)全部元素的方法,涉及javascript遍歷下拉列表元素的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • 獲取鼠標(biāo)在div中的相對位置的實現(xiàn)代碼

    獲取鼠標(biāo)在div中的相對位置的實現(xiàn)代碼

    如何獲取鼠標(biāo)在div中的相對位置,其實是很簡單,下有個不錯的示例,感興趣的朋友可以參考下
    2013-12-12
  • 純js分頁代碼(簡潔實用)

    純js分頁代碼(簡潔實用)

    純js寫的分頁代碼且簡潔實用哦!需要的朋友可以過來參考下,希望對大家有所幫助
    2013-11-11
  • web 屏蔽BackSpace鍵實例代碼

    web 屏蔽BackSpace鍵實例代碼

    在web端,輸入的時候,很容易在文本框消失焦點的時候,點擊退格鍵,頁面就回退了,下面是一種屏蔽頁面回退鍵的方法,一起看看吧
    2016-12-12
  • 一文弄懂JavaScript的繼承方式

    一文弄懂JavaScript的繼承方式

    這篇文章主要介紹了一文弄懂JavaScript的繼承方式,在java面試過程中經(jīng)常被問到j(luò)avascript中有幾種繼承方式,每種繼承方式是怎么實現(xiàn)的,文中給大家講解的非常詳細,需要的朋友可以參考下
    2022-05-05
  • JavaScript實現(xiàn)數(shù)組全排列、去重及求最大值算法示例

    JavaScript實現(xiàn)數(shù)組全排列、去重及求最大值算法示例

    這篇文章主要介紹了JavaScript實現(xiàn)數(shù)組全排列、去重及求最大值算法,結(jié)合實例形式分析了JavaScript針對數(shù)組的遞歸、遍歷、排序等相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • TypeScript命名空間合并講解

    TypeScript命名空間合并講解

    這篇文章主要介紹了TS命名空間合并講解,回顧上一節(jié)的內(nèi)容,在上一節(jié)中我們介紹了TS中最常見的聲明合并:接口合并,今天要講的內(nèi)容也是TS中的聲明合并,但這次是命名空間相關(guān)的合并,需要的朋友可以參考一下
    2021-12-12
  • 微信小程序提交form操作示例

    微信小程序提交form操作示例

    這篇文章主要介紹了微信小程序提交form操作,結(jié)合實例形式分析了微信小程序開發(fā)中使用form組件實現(xiàn)數(shù)據(jù)提交與數(shù)據(jù)處理相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • 微信小程序封裝網(wǎng)絡(luò)請求和攔截器實戰(zhàn)步驟

    微信小程序封裝網(wǎng)絡(luò)請求和攔截器實戰(zhàn)步驟

    這篇文章主要介紹了微信小程序封裝網(wǎng)絡(luò)請求和攔截器實戰(zhàn)步驟,這樣可以提高開發(fā)效率,減少代碼重復(fù),同時也可以提高代碼的可維護性和可讀性
    2023-03-03

最新評論

新乡县| 石城县| 永定县| 广元市| 清新县| 田林县| 抚松县| 封丘县| 班戈县| 砚山县| 沁源县| 井陉县| 文登市| 大丰市| 上饶市| 防城港市| 山西省| 招远市| 南涧| 视频| 晋中市| 肇庆市| 广东省| 朝阳市| 望都县| 鄂托克旗| 微山县| 台江县| 溆浦县| 哈巴河县| 当阳市| 雷山县| 扬中市| 静海县| 突泉县| 云阳县| 万载县| 浮山县| 华坪县| 临城县| 淮滨县|