關(guān)于location對(duì)象的簡單理解:
1.location對(duì)象中涵蓋了當(dāng)前頁面(本頁面)或者更直接的說,是當(dāng)前加載的這個(gè)html文檔的url信息
2.location對(duì)象作為window對(duì)象的一個(gè)屬性,可以通過window.location老訪問
下面順便介紹一些URL(資源定位符)的相關(guān)信息吧:
在瀏覽器中URL通常由下面幾個(gè)部分組成的:
[協(xié)議][host][path][query]
協(xié)議:常見的協(xié)議有:
http:// 表示資源文件在web服務(wù)器上
ftp://表示資源文件在網(wǎng)絡(luò)上的ftp服務(wù)器中
host:主機(jī)名以及端口號(hào),例如本機(jī)tomcat常用的host:localhost:8080
path:項(xiàng)目的路徑信息,一般是由“/”以及字符組成的,"/"為上下級(jí)關(guān)系
query:一般是以“?”開頭的,后面加上一些歌鍵值對(duì)(key=value)的形勢,多個(gè)鍵值對(duì)時(shí)用“&”隔開,可用于動(dòng)態(tài)網(wǎng)頁,傳參數(shù)至服務(wù)器端,用于后臺(tái)有關(guān)操作,查詢數(shù)據(jù)庫條件等等,提交表格數(shù)據(jù)等等,都可以放在這里提交,涉及安全性的東西需要另外搞定加密或者通過其他方式。。。。
query的后面還可以添加以“#”號(hào)開頭的參數(shù),但是目前沒用到這個(gè)東西,暫時(shí)不隨便發(fā)表言論
location對(duì)象屬性:
1.href屬性:當(dāng)前頁面的完整url信息,包括協(xié)議,主機(jī)名,端口號(hào),查詢參數(shù),#信息等等等,完整的都包含了
2.host屬性:主機(jī)名稱和端口號(hào),比如localhost:8080本機(jī)
3.hostname:主機(jī)名
4.port:url中的端口號(hào)
5.pathname:url中的路徑內(nèi)容包含“/”的那部分內(nèi)容
6.protocol:協(xié)議
7.serach:以“?”開始的query部分內(nèi)容
8.hash:以“#”開始的內(nèi)容
location常見的用法
很顯然,除了可以給開發(fā)者提供便捷的屬性信息以外,還有一個(gè)更加重要和常用的用途
重新加載頁面,可以用來刷新文檔內(nèi)容,但是更加重要的用途是,修改href信息之后,重新加載文檔內(nèi)容
location.href:在賦值之后,瀏覽器會(huì)根據(jù)這個(gè)指定的全新的url,刷新文檔的內(nèi)容
location.reload():重新加載文檔
協(xié)助我們解決頁面跨域的問題:
1.刷新當(dāng)前的頁面
window.location.href =url//我習(xí)慣使用這個(gè)方法
self.location.href =url
location.href =url
上述三個(gè)方法都可用來刷新當(dāng)前頁面(根據(jù)指定的url重新加載,可以是另一個(gè)全新的文檔,替換當(dāng)前文檔)
2.父頁面中使用iframe包含了子頁面時(shí)
父頁面刷新子頁面:
window.frames["id"].location.reload()//id為頁面中iframe的id
3.子頁面刷新父頁面
parant.location.reload()
self.opener.location.reload()
方法有很多,隨著以后的實(shí)際使用繼續(xù)總結(jié)?。。?!
其他常見方法:
location.replace() //使用新文檔替換當(dāng)前文檔
location.assign() //加載新文檔
更多信息請(qǐng)查看IT技術(shù)專欄