|
注意:屬于不同協(xié)議或不同主機(jī)的兩個(gè)地址之間不能互相引用對(duì)方的 location 對(duì)象,這是出于安全性的需要。例如,當(dāng)前窗口打開的是“www.a.com”下面的某一頁(yè),另外一個(gè)窗口(對(duì)象名為:bWindow)打開的是“www.b.com”的網(wǎng)頁(yè)。如果在當(dāng)前窗口使用“bWindow.location”,就會(huì)出錯(cuò):“沒(méi)有權(quán)限”。這個(gè)錯(cuò)誤是不能用錯(cuò)誤處理程序(Event Handler,參閱 onerror 事件)來(lái)接收處理的。
第一、簡(jiǎn)單介紹一下location屬性、用法以及相關(guān)示例:
Location
包含了關(guān)于當(dāng)前 URL 的信息。location對(duì)象描述了與一個(gè)給定的 Window 對(duì)象關(guān)聯(lián)的完整 URL。location 對(duì)象的每個(gè)屬性都描述了 URL 的不同特性。
通常情況下,一個(gè) URL 會(huì)有下面的格式:協(xié)議//主機(jī):端口/路徑名稱#哈希標(biāo)識(shí)?搜索條件
例如:http://www.iJavascript.cn/jiaocheng/index.html#topic1?x=7&y=2 這些部分是滿足下列需求的:
“協(xié)議”是 URL 的起始部分,直到包含到第一個(gè)冒號(hào)。
“主機(jī)”描述了主機(jī)和域名,或者一個(gè)網(wǎng)絡(luò)主機(jī)的 IP 地址。
“端口”描述了服務(wù)器用于通訊的通訊端口。
路徑名稱描述了 URL 的路徑方面的信息。
“哈希標(biāo)識(shí)”描述了 URL 中的錨名稱,包括哈希掩碼(#)。此屬性只應(yīng)用于 HTTP 的 URL。
“搜索條件”描述了該 URL 中的任何查詢信息,包括問(wèn)號(hào)。此屬性只應(yīng)用于 HTTP 的 URL。“搜索條件”字符串包含變量和值的配對(duì);每對(duì)之間由一個(gè)“&”連接。
屬性概覽
protocol 返回地址的協(xié)議,取值為 'http:','https:','file:' 等等。
hostname 返回地址的主機(jī)名,例如,一個(gè)“http://www.microsoft.com/china/”的地址,location.hostname == 'www.microsoft.com'。
port 返回地址的端口號(hào),一般 http 的端口號(hào)是 '80'。
host 返回主機(jī)名和端口號(hào),如:'www.a.com:8080'。
pathname 返回路徑名,如“http://www.a.com/b/c.html”,location.pathname == 'b/c.html'。
hash 返回“#”以及以后的內(nèi)容,如“http://www.a.com/b/c.html#chapter4”,location.hash == '#chapter4';如果地址里沒(méi)有“#”,則返回空字符串。
search 返回“?”以及以后的內(nèi)容,如“http://www.a.com/b/c.ASP?selection=3&jumpto=4”,location.search == '?selection=3&jumpto=4';如果地址里沒(méi)有“?”,則返回空字符串。
href 返回以上全部?jī)?nèi)容,也就是說(shuō),返回整個(gè)地址。在瀏覽器的地址欄上怎么顯示它就怎么返回。如果想一個(gè)窗口對(duì)象打開某地址,可以使用“l(fā)ocation.href = '...'”,也可以直接用“l(fā)ocation = '...'”來(lái)達(dá)到此目的。
方法概覽
reload() 相當(dāng)于按瀏覽器上的“刷新”(IE)或“Reload”(NETscape)鍵。
replace() 打開一個(gè) URL,并取代歷史對(duì)象中當(dāng)前位置的地址。用這個(gè)方法打開一個(gè) URL 后,按下瀏覽器的“后退”鍵將不能返回到剛才的頁(yè)面。
二、location之頁(yè)面跳轉(zhuǎn)js如下:
//簡(jiǎn)單跳轉(zhuǎn)
function gotoPage(url) {
// eg. var url = "newsview.html?catalogid="+catalogID+"&pageid="+pageid;
window.location = url;
}
// 對(duì)location用法的升級(jí),為單個(gè)頁(yè)面?zhèn)鬟f參數(shù)
function goto_catalog(iCat) {
if(iCat<=0) {
top.location = "../index.ASPx"; // top出去
} else {
window.location = "../newsCat.ASPx?catid="+iCat;
}
}
// 對(duì)指定框架進(jìn)行跳轉(zhuǎn)頁(yè)面,二種方法皆可用
function goto_iframe(url) {
parent.mainFrame.location = "../index.ASPx"; //
// parent.document.getElementById("mainFrame").src = "../index.ASPx";// use dom to change page // 同時(shí)我增加了dom的寫法
}
// 對(duì)指定框架進(jìn)行跳轉(zhuǎn)頁(yè)面,因?yàn)?nbsp;parent.iframename.location="../index.ASPx"; 方法不能實(shí)行,主要是 "parent.iframename" 中的iframename在js中被默認(rèn)為節(jié)點(diǎn),而不能把傳遞過(guò)來(lái)的參數(shù)轉(zhuǎn)換過(guò)來(lái),所以用dom實(shí)現(xiàn)了該傳遞二個(gè)參數(shù)的框架跳轉(zhuǎn)頁(yè)面,希望那位仁兄不吝賜教!
function goto_iframe(iframename,url) {
parent.document.getElementById(iframename).src = "../index.ASPx";// use dom to change page by iframeName
//}
// 回到首頁(yè)
function gohome() {
top.location = "/index.ASPx";
}
JavaScript技術(shù):JavaScript中的Location地址對(duì)象,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。