window.location 和document.location解析

來源:互聯網
上載者:User

document.location     這個對象包含了當前URL的資訊
location.host 擷取port號
location.hostname 設定或擷取主機名稱
location.href 設定或擷取整個URL
location.port設定或擷取URL的連接埠號碼
location.search     設定或擷取href屬性中跟在問號後面的部分

 

window.location的應用
URL:統一資源定位器 (Uniform Resource Locator, URL)

完整的URL由這幾個部分構成:scheme://host:port/path?query#fragment ;
scheme:通訊協定
常用的http,ftp,maito等

host:主機
伺服器(電腦)網域名稱系統 (DNS) 主機名稱或 IP 位址。

port:連接埠號碼
整數,可選,省略時使用方式情節的預設連接埠,如http的預設連接埠為80。

path:路徑
由零或多個"/"符號隔開的字串,一般用來表示主機上的一個目錄或檔案地址。

query:查詢
可選,用於給動態網頁(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技術製作的網頁)傳遞參數,可有多個參數,用"&"符號隔開,每個參數的名和值用"="符號隔開。

fragment:資訊片斷
字串,用於指定網路資源中的片斷。例如一個網頁中有多個名詞解釋,可使用fragment直接定位到某一名詞解釋。(也稱為錨點.)

 

對於這樣一個URL
http://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere

我們可以用javascript獲得其中的各個部分
1, window.location.href
整個URl字串(在瀏覽器中就是完整的地址欄)
本例傳回值: http://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere

2,window.location.protocol
URL 的協議部分
本例傳回值:http:

3,window.location.host
URL 的主機部分
本例傳回值:www.x2y2.com

4,window.location.port
URL 的連接埠部分
如果採用預設的80連接埠(update:即使添加了:80),那麼傳回值並不是預設的80而是Null 字元
本例傳回值:""

5,window.location.pathname
URL 的路徑部分(就是檔案地址)
本例傳回值:/fisker/post/0703/window.location.html

6,window.location.search
查詢(參數)部分
除了給動態語言賦值以外,我們同樣可以給靜態頁面,並使用javascript來獲得相信應的參數值
本例傳回值:?ver=1.0&id=6

7,window.location.hash
錨點==========================================

 

[document對象]
  該對象是window和frames對象的一個屬性,是顯示於視窗或架構內的一個文檔。
  屬性
  alinkColor 活動連結的顏色(ALINK)
  anchor 一個HTMI錨點,使用<A NAME=>標記建立(該屬性本身也是一個對象)
  anchors array 列出文檔錨點對象的數組(<A NAME=>)(該屬性本身也是一個對象)
  bgColor 文檔的背景顏色(BGCOLOR)
  cookie 儲存於cookie.txt檔案內的一段資訊,它是該文檔對象的一個屬性
  fgColor 文檔的文本顏色(<BODY>標記裡的TEXT特性)
  form 文檔中的一個表單(<FORM>)(該屬性本身也是一個對象)
  forms anay 按照其出現在文檔中的順序列出表單對象的一個數組(該屬性本身也是一個對象)
  lastModified 文檔最後的修改日期
  linkColor 文檔的連結的顏色,即<BODY>標記中的LINK特性(連結到使用者沒有觀察到的文檔)
  link 文檔中的一個<A HREF=>標記(該屬性本身也是一個對象)
  links array 文檔中link對象的一個數組,按照它們出現在文檔中的順序排列(該屬性本身也是一個對象)
  location 當前顯示文檔的URL。使用者不能改變document.location(因為這是當前顯示文檔的位置)。但是,可以改變 window.location (用其它文檔取代當前文檔)window.location本身也是一個對象,而
document.location不是對象
  referrer 包含連結的文檔的URL,使用者單擊該連結可到達當前文檔
  title 文檔的標題((TITLE>)
  vlinkColor 指向使用者已觀察過的文檔的連結文本顏色,即<BODY>標記的VLINK特性
  方法
  clear 清除指定文檔的內容
  close 關閉文檔流
  open 開啟文檔流
  write 把文本寫入文檔
  writeln 把文本寫入文檔,並以分行符號結尾

[window對象]
  它是一個頂層對象,而不是另一個對象的屬性即瀏覽器的視窗。
  屬性
  defaultStatus 預設的狀態條訊息
  document 當前顯示的文檔(該屬性本身也是一個對象)
  frame 視窗裡的一個架構((FRAME>)(該屬性本身也是一個對象)
  frames array 列舉視窗的架構對象的數組,按照這些對象在文檔中出現的順序列出(該屬性本身也是一個
對象)
  history 視窗的曆史列表(該屬性本身也是一個對象)
  length 視窗內的架構數
  location 視窗所顯示文檔的完整(絕對)URL(該屬性本身也是一個對象)不要把它與如document.location
混淆,後者是當前顯示文檔的URL。使用者可以改變window.location(用另一個文檔取代當前文檔),但卻不能改變
document.location (因為這是當前顯示文檔的位置)
  name 視窗開啟時,賦予該視窗的名字
  opener 代表使用window.open開啟當前視窗的指令碼所在的視窗(這是Netscape Navigator 3.0beta 3所引
入的一個新屬性)
  parent 包含當前架構的視窗的同義字。frame和window對象的一個屬性
  self 當前視窗或架構的同義字
  status 狀態條中的訊息
  top 包含當前架構的最頂層瀏覽器視窗的同義字
  window 當前視窗或架構的同義字,與self相同
  方法
  alert() 開啟一個Alert訊息框
  clearTimeout() 用來終止setTimeout方法的工作
  close() 關閉視窗
  confirm() 開啟一個Confirm訊息框,使用者可以選擇OK或Cancel,如果使用者單擊OK,該方法返回true,單擊
Cancel返回false
  blur() 把焦點從指定視窗移開(這是Netscape Navigator 3.0 beta 3引入的新方法)
  focus() 把指定的視窗帶到前台(另一個新方法)
  open() 開啟一個新視窗
  prompt() 開啟一個Prompt對話方塊,使用者可向該框鍵入文本,並把鍵入的文字返回到指令碼
  setTimeout() 等待一段指定的毫秒數時間,然後運行指令事件處理常式事件處理常式
  Onload() 頁面載入時觸發
  Onunload() 頁面關閉時觸發

 

       區別:使用者不能改變document.location(因為這是當前顯示文檔的位置)。但是,可以改變window.location (用其它文檔取代當前文檔)window.location本身也是一個對象,而document.location不是對象

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.