JS中location對象使用


 

location 地址對象 它描述的是某一個窗口對象所打開的地址。要表示當前窗口的地址,只需要使用“location”就行了;若要表示某一個窗口的地址,就使用“<窗口對象>.location”。先前寫了一片用window.location.href實現刷新另個框架頁面 ,特此我看了一下locaiton的詳細用法,對此有點改進,具體如下:

注意:屬於不同協議或不同主機的兩個地址之間不能互相引用對方的 location 對象,這是出於安全性的需要。例如,當前窗口打開的是“www.a.com”下面的某一頁,另外一個窗口(對象名為:bWindow)打開的是“www.b.com”的網頁。如果在當前窗口使用“bWindow.location”,就會出錯:“沒有權限”。這個錯誤是不能用錯誤處理程序(Event Handler,參閱 onerror 事件)來接收處理的。

第一、簡單介紹一下location屬性、用法以及相關示例:

Location

包含了關於當前 URL 的信息。location對象描述了與一個給定的 Window 對象關聯的完整 URL。location 對象的每個屬性都描述了 URL 的不同特性。

通常情況下,一個 URL 會有下面的格式:協議//主機:端口/路徑名稱#哈希標識?搜索條件

例如:http://www.ijavascript.cn/jiaocheng/index.html#topic1?x=7&y=2 這些部分是滿足下列需求的:

  • “協議”是 URL 的起始部分,直到包含到第一個冒號。
  • “主機”描述了主機和域名,或者一個網絡主機的 IP 地址。
  • “端口”描述了服務器用於通訊的通訊端口。
  • 路徑名稱描述了 URL 的路徑方面的信息。
  • “哈希標識”描述了 URL 中的錨名稱,包括哈希掩碼(#)。此屬性只應用於 HTTP 的 URL。
  • “搜索條件”描述了該 URL 中的任何查詢信息,包括問號。此屬性只應用於 HTTP 的 URL。“搜索條件”字符串包含變量和值的配對;每對之間由一個“&”連接。

屬性概覽

  • protocol 返回地址的協議,取值為 'http:','https:','file:' 等等。
  • hostname 返回地址的主機名,例如,一個“http://www.microsoft.com/china/”的地址,location.hostname == 'www.microsoft.com'。
  • port 返回地址的端口號,一般 http 的端口號是 '80'。
  • host 返回主機名和端口號,如:'www.a.com:8080'。
  • pathname 返回路徑名,如“http://www.a.com/b/c.html”,location.pathname == 'b/c.html'。
  • hash 返回“#”以及以后的內容,如“http://www.a.com/b/c.html#chapter4”,location.hash == '#chapter4';如果地址里沒有“#”,則返回空字符串。
  • search 返回“?”以及以后的內容,如“http://www.a.com/b/c.asp?selection=3&jumpto=4”,location.search == '?selection=3&jumpto=4';如果地址里沒有“?”,則返回空字符串。
  • href 返回以上全部內容,也就是說,返回整個地址。在瀏覽器的地址欄上怎么顯示它就怎么返回。如果想一個窗口對象打開某地址,可以使用“location.href = '...'”,也可以直接用“location = '...'”來達到此目的。

方法概覽

  • reload() 相當於按瀏覽器上的“刷新”(IE)或“Reload”(Netscape)鍵。
  • replace() 打開一個 URL,並取代歷史對象中當前位置的地址。用這個方法打開一個 URL 后,按下瀏覽器的“后退”鍵將不能返回到剛才的頁面。

二、location之頁面跳轉js如下:

//簡單跳轉

function gotoPage(url) {

 

// eg. var url = "newsview.html?catalogid="+catalogID+"&pageid="+pageid;

window.location = url;

}

// 對location用法的升級,為單個頁面傳遞參數

function goto_catalog(iCat) {

 

if(iCat<=0) {

top.location = "../index.aspx"; // top出去

} else {

window.location = "../newsCat.aspx?catid="+iCat;

}

}

// 對指定框架進行跳轉頁面,二種方法皆可用

function goto_iframe(url) {

 

parent.mainFrame.location = "../index.aspx"; //

// parent.document.getElementById("mainFrame").src = "../index.aspx";// use dom to change page // 同時我增加了dom的寫法

}

// 對指定框架進行跳轉頁面,因為 parent.iframename.location="../index.aspx"; 方法不能實行,主要是 "parent.iframename" 中的iframename在js中被默認為節點,而不能把傳遞過來的參數轉換過來,所以用dom實現了該傳遞二個參數的框架跳轉頁面,希望那位仁兄不吝賜教!

function goto_iframe(iframename,url) {

 

parent.document.getElementById(iframename).src = "../index.aspx";// use dom to change page by iframeName

//}

// 回到首頁

function gohome() {

 

top.location = "/index.aspx";

}

  轉自: http://www.cnblogs.com/dongdonggege/archive/2011/10/20/2218511.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM