一、self.location基礎(chǔ)介紹
self.location是一個(gè)JavaScript中的全局變量,它表示當(dāng)前文檔的URL。在網(wǎng)頁(yè)中使用self.location可以對(duì)頁(yè)面進(jìn)行一些處理,例如跳轉(zhuǎn)到其他頁(yè)面、獲取當(dāng)前URL等。下面是一個(gè)簡(jiǎn)單的例子:
//獲取當(dāng)前URL
var url = self.location.href;
//跳轉(zhuǎn)到百度首頁(yè)
self.location.;
二、self.location屬性詳細(xì)介紹
self.location具有許多屬性,下面分別進(jìn)行詳細(xì)介紹:
1. href
href返回當(dāng)前頁(yè)面的完整URL,包括協(xié)議、主機(jī)名、端口號(hào)、路徑和查詢參數(shù)等。我們前面的例子中就使用了href屬性。
2. protocol
protocol返回當(dāng)前頁(yè)面的協(xié)議類型,例如http、https、ftp等。
3. hostname
hostname返回當(dāng)前頁(yè)面的主機(jī)名,不包括端口號(hào)。
4. port
port返回當(dāng)前頁(yè)面的端口號(hào),如果是默認(rèn)端口號(hào)(http的默認(rèn)端口號(hào)是80,https的默認(rèn)端口號(hào)是443),則返回空字符串。
5. pathname
pathname返回當(dāng)前頁(yè)面的路徑部分,不包括主機(jī)名和查詢參數(shù)。
6. search
search返回當(dāng)前頁(yè)面的查詢參數(shù)部分,包括問(wèn)號(hào)(?)。
7. hash
hash返回當(dāng)前頁(yè)面的錨點(diǎn)部分,包括井號(hào)(#)。
三、self.location方法詳細(xì)介紹
除了屬性之外,self.location還具有一些常用的方法,下面分別進(jìn)行介紹:
1. assign()
assign()方法可以用于在當(dāng)前窗口或者一個(gè)新窗口中加載新的URL。例如下面的代碼可以實(shí)現(xiàn)點(diǎn)擊按鈕跳轉(zhuǎn)到百度頁(yè)面:
2. replace()
replace()方法可以用于在當(dāng)前窗口中加載新的URL,并且不會(huì)在瀏覽歷史中生成一個(gè)新的記錄,也就是說(shuō)無(wú)法通過(guò)回退操作返回到之前的頁(yè)面。
//跳轉(zhuǎn)到百度頁(yè)面,并且無(wú)法通過(guò)回退操作返回
self.location.replace('https://www.baidu.com');
3. reload()
reload()方法可以用于重新加載當(dāng)前頁(yè)面。
//重新加載當(dāng)前頁(yè)面
self.location.reload();
四、小結(jié)
本文詳細(xì)介紹了JavaScript中的self.location變量,包括其屬性和方法。通過(guò)學(xué)習(xí)本文,可以更加深入地了解self.location在網(wǎng)頁(yè)編程中的應(yīng)用。