JavaScript中的Location地址對象

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

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

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

  Location瀏覽器

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

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

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

  「協議」是 URL 的起始部分,直到包含到第一個冒號。http://www.120hrb.com框架

  「主機」描述了主機和域名,或者一個網絡主機的 IP 地址。dom

  「端口」描述了服務器用於通信的通信端口。url

  路徑名稱描述了 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 後,按下瀏覽器的「後退」鍵將不能返回到剛纔的頁面。

  2、location之頁面跳轉js以下:

  //簡單跳轉

  function gotoPage(url) {

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

  window.location = url;

  }

  // 對location用法的升級,爲單個頁面傳遞參數http://www.hrbfkyy120.com

  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";

  }

相關文章
相關標籤/搜索