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