window.location和document.location的區(qū)別分析
更新時(shí)間:2008年12月23日 15:56:26 作者:
用戶不能改變document.location(因?yàn)檫@是當(dāng)前顯示文檔的位置)。但是,可以改變window.location (用其它文檔取代當(dāng)前文檔)window.location本身也是一個(gè)對象,而document.location不是對象
document.location 這個(gè)對象包含了當(dāng)前URL的信息
location.host 獲取port號(hào)
location.hostname 設(shè)置或獲取主機(jī)名稱
location.href 設(shè)置或獲取整個(gè)URL
location.port設(shè)置或獲取URL的端口號(hào)
location.search 設(shè)置或獲取href屬性中跟在問號(hào)后面的部分
-------------------------------------------------------------------------------
js中window.location的應(yīng)用
URL即:統(tǒng)一資源定位符 (Uniform Resource Locator, URL)
完整的URL由這幾個(gè)部分構(gòu)成:
scheme://host:port/path?query#fragment
scheme:通信協(xié)議
常用的http,ftp,maito等
host:主機(jī)
服務(wù)器(計(jì)算機(jī))域名系統(tǒng) (DNS) 主機(jī)名或 IP 地址。
port:端口號(hào)
整數(shù),可選,省略時(shí)使用方案的默認(rèn)端口,如http的默認(rèn)端口為80。
path:路徑
由零或多個(gè)"/"符號(hào)隔開的字符串,一般用來表示主機(jī)上的一個(gè)目錄或文件地址。
query:查詢
可選,用于給動(dòng)態(tài)網(wǎng)頁(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技術(shù)制作的網(wǎng)頁)傳遞參數(shù),可有多個(gè)參數(shù),用"&"符號(hào)隔開,每個(gè)參數(shù)的名和值用"="符號(hào)隔開。
fragment:信息片斷
字符串,用于指定網(wǎng)絡(luò)資源中的片斷。例如一個(gè)網(wǎng)頁中有多個(gè)名詞解釋,可使用fragment直接定位到某一名詞解釋。(也稱為錨點(diǎn).)
對于這樣一個(gè)URL
http://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere
我們可以用javascript獲得其中的各個(gè)部分
1, window.location.href
整個(gè)URl字符串(在瀏覽器中就是完整的地址欄)
本例返回值: http://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere
2,window.location.protocol
URL 的協(xié)議部分
本例返回值:http:
3,window.location.host
URL 的主機(jī)部分
本例返回值:www.x2y2.com
4,window.location.port
URL 的端口部分
如果采用默認(rèn)的80端口(update:即使添加了:80),那么返回值并不是默認(rèn)的80而是空字符
本例返回值:""
5,window.location.pathname
URL 的路徑部分(就是文件地址)
本例返回值:/fisker/post/0703/window.location.html
6,window.location.search
查詢(參數(shù))部分
除了給動(dòng)態(tài)語言賦值以外,我們同樣可以給靜態(tài)頁面,并使用javascript來獲得相信應(yīng)的參數(shù)值
本例返回值:?ver=1.0&id=6
7,window.location.hash
錨點(diǎn)==========================================
document.href="http://www.dhdzp.com"
document.location="http://www.dhdzp.com"
window.location="http://www.dhdzp.com"
只是屬于包含的問題
一個(gè)是window,一個(gè)是document
location 是個(gè)對象 比如本頁的document.location 和window.location的屬性有
location.hostname = community.csdn.net
location.href = http://community.csdn.net/Expert/topic/4033/4033372.xml?temp=2.695864E-02
location.host = community.csdn.net
location.hash =
location.port =
location.pathname = /Expert/topic/4033/4033372.xml
location.search = ?temp=2.695864E-02
location.protocol = http:
可見href 是location的屬性 類別是string 。
[document對象]
該對象是window和frames對象的一個(gè)屬性,是顯示于窗口或框架內(nèi)的一個(gè)文檔。
屬性
alinkColor 活動(dòng)鏈接的顏色(ALINK)
anchor 一個(gè)HTMI錨點(diǎn),使用<A NAME=>標(biāo)記創(chuàng)建(該屬性本身也是一個(gè)對象)
anchors array 列出文檔錨點(diǎn)對象的數(shù)組(<A NAME=>)(該屬性本身也是一個(gè)對象)
bgColor 文檔的背景顏色(BGCOLOR)
cookie 存儲(chǔ)于cookie.txt文件內(nèi)的一段信息,它是該文檔對象的一個(gè)屬性
fgColor 文檔的文本顏色(<BODY>標(biāo)記里的TEXT特性)
form 文檔中的一個(gè)窗體(<FORM>)(該屬性本身也是一個(gè)對象)
forms anay 按照其出現(xiàn)在文檔中的順序列出窗體對象的一個(gè)數(shù)組(該屬性本身也是一個(gè)對象)
lastModified 文檔最后的修改日期
linkColor 文檔的鏈接的顏色,即<BODY>標(biāo)記中的LINK特性(鏈接到用戶沒有觀察到的文檔)
link 文檔中的一個(gè)<A HREF=>標(biāo)記(該屬性本身也是一個(gè)對象)
links array 文檔中l(wèi)ink對象的一個(gè)數(shù)組,按照它們出現(xiàn)在文檔中的順序排列(該屬性本身也是一個(gè)對象)
location 當(dāng)前顯示文檔的URL。用戶不能改變document.location(因?yàn)檫@是當(dāng)前顯示文檔的位置)。但是,
可以改變 window.location (用其它文檔取代當(dāng)前文檔)window.location本身也是一個(gè)對象,而
document.location不是對象
referrer 包含鏈接的文檔的URL,用戶單擊該鏈接可到達(dá)當(dāng)前文檔
title 文檔的標(biāo)題((TITLE>)
vlinkColor 指向用戶已觀察過的文檔的鏈接文本顏色,即<BODY>標(biāo)記的VLINK特性
方法
clear 清除指定文檔的內(nèi)容
close 關(guān)閉文檔流
open 打開文檔流
write 把文本寫入文檔
writeln 把文本寫入文檔,并以換行符結(jié)尾
[window對象]
它是一個(gè)頂層對象,而不是另一個(gè)對象的屬性即瀏覽器的窗口。
屬性
defaultStatus 缺省的狀態(tài)條消息
document 當(dāng)前顯示的文檔(該屬性本身也是一個(gè)對象)
frame 窗口里的一個(gè)框架((FRAME>)(該屬性本身也是一個(gè)對象)
frames array 列舉窗口的框架對象的數(shù)組,按照這些對象在文檔中出現(xiàn)的順序列出(該屬性本身也是一個(gè)
對象)
history 窗口的歷史列表(該屬性本身也是一個(gè)對象)
length 窗口內(nèi)的框架數(shù)
location 窗口所顯示文檔的完整(絕對)URL(該屬性本身也是一個(gè)對象)不要把它與如document.location
混淆,后者是當(dāng)前顯示文檔的URL。用戶可以改變window.location(用另一個(gè)文檔取代當(dāng)前文檔),但卻不能改變
document.location (因?yàn)檫@是當(dāng)前顯示文檔的位置)
name 窗口打開時(shí),賦予該窗口的名字
opener 代表使用window.open打開當(dāng)前窗口的腳本所在的窗口(這是Netscape Navigator 3.0beta 3所引
入的一個(gè)新屬性)
parent 包含當(dāng)前框架的窗口的同義詞。frame和window對象的一個(gè)屬性
self 當(dāng)前窗口或框架的同義詞
status 狀態(tài)條中的消息
top 包含當(dāng)前框架的最頂層瀏覽器窗口的同義詞
window 當(dāng)前窗口或框架的同義詞,與self相同
方法
alert() 打開一個(gè)Alert消息框
clearTimeout() 用來終止setTimeout方法的工作
close() 關(guān)閉窗口
confirm() 打開一個(gè)Confirm消息框,用戶可以選擇OK或Cancel,如果用戶單擊OK,該方法返回true,單擊
Cancel返回false
blur() 把焦點(diǎn)從指定窗口移開(這是Netscape Navigator 3.0 beta 3引入的新方法)
focus() 把指定的窗口帶到前臺(tái)(另一個(gè)新方法)
open() 打開一個(gè)新窗口
prompt() 打開一個(gè)Prompt對話框,用戶可向該框鍵入文本,并把鍵入的文本返回到腳本
setTimeout() 等待一段指定的毫秒數(shù)時(shí)間,然后運(yùn)行指令事件處理程序事件處理程序
Onload() 頁面載入時(shí)觸發(fā)
Onunload() 頁面關(guān)閉時(shí)觸發(fā)
區(qū)別:用戶不能改變document.location(因?yàn)檫@是當(dāng)前顯示文檔的位置)。但是,可以改變window.location (用其它文檔取代當(dāng)前文檔)window.location本身也是一個(gè)對象,而document.location不是對象
location.host 獲取port號(hào)
location.hostname 設(shè)置或獲取主機(jī)名稱
location.href 設(shè)置或獲取整個(gè)URL
location.port設(shè)置或獲取URL的端口號(hào)
location.search 設(shè)置或獲取href屬性中跟在問號(hào)后面的部分
-------------------------------------------------------------------------------
js中window.location的應(yīng)用
URL即:統(tǒng)一資源定位符 (Uniform Resource Locator, URL)
完整的URL由這幾個(gè)部分構(gòu)成:
scheme://host:port/path?query#fragment
scheme:通信協(xié)議
常用的http,ftp,maito等
host:主機(jī)
服務(wù)器(計(jì)算機(jī))域名系統(tǒng) (DNS) 主機(jī)名或 IP 地址。
port:端口號(hào)
整數(shù),可選,省略時(shí)使用方案的默認(rèn)端口,如http的默認(rèn)端口為80。
path:路徑
由零或多個(gè)"/"符號(hào)隔開的字符串,一般用來表示主機(jī)上的一個(gè)目錄或文件地址。
query:查詢
可選,用于給動(dòng)態(tài)網(wǎng)頁(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技術(shù)制作的網(wǎng)頁)傳遞參數(shù),可有多個(gè)參數(shù),用"&"符號(hào)隔開,每個(gè)參數(shù)的名和值用"="符號(hào)隔開。
fragment:信息片斷
字符串,用于指定網(wǎng)絡(luò)資源中的片斷。例如一個(gè)網(wǎng)頁中有多個(gè)名詞解釋,可使用fragment直接定位到某一名詞解釋。(也稱為錨點(diǎn).)
對于這樣一個(gè)URL
http://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere
我們可以用javascript獲得其中的各個(gè)部分
1, window.location.href
整個(gè)URl字符串(在瀏覽器中就是完整的地址欄)
本例返回值: http://www.x2y2.com:80/fisker/post/0703/window.location.html?ver=1.0&id=6#imhere
2,window.location.protocol
URL 的協(xié)議部分
本例返回值:http:
3,window.location.host
URL 的主機(jī)部分
本例返回值:www.x2y2.com
4,window.location.port
URL 的端口部分
如果采用默認(rèn)的80端口(update:即使添加了:80),那么返回值并不是默認(rèn)的80而是空字符
本例返回值:""
5,window.location.pathname
URL 的路徑部分(就是文件地址)
本例返回值:/fisker/post/0703/window.location.html
6,window.location.search
查詢(參數(shù))部分
除了給動(dòng)態(tài)語言賦值以外,我們同樣可以給靜態(tài)頁面,并使用javascript來獲得相信應(yīng)的參數(shù)值
本例返回值:?ver=1.0&id=6
7,window.location.hash
錨點(diǎn)==========================================
document.href="http://www.dhdzp.com"
document.location="http://www.dhdzp.com"
window.location="http://www.dhdzp.com"
只是屬于包含的問題
一個(gè)是window,一個(gè)是document
location 是個(gè)對象 比如本頁的document.location 和window.location的屬性有
location.hostname = community.csdn.net
location.href = http://community.csdn.net/Expert/topic/4033/4033372.xml?temp=2.695864E-02
location.host = community.csdn.net
location.hash =
location.port =
location.pathname = /Expert/topic/4033/4033372.xml
location.search = ?temp=2.695864E-02
location.protocol = http:
可見href 是location的屬性 類別是string 。
[document對象]
該對象是window和frames對象的一個(gè)屬性,是顯示于窗口或框架內(nèi)的一個(gè)文檔。
屬性
alinkColor 活動(dòng)鏈接的顏色(ALINK)
anchor 一個(gè)HTMI錨點(diǎn),使用<A NAME=>標(biāo)記創(chuàng)建(該屬性本身也是一個(gè)對象)
anchors array 列出文檔錨點(diǎn)對象的數(shù)組(<A NAME=>)(該屬性本身也是一個(gè)對象)
bgColor 文檔的背景顏色(BGCOLOR)
cookie 存儲(chǔ)于cookie.txt文件內(nèi)的一段信息,它是該文檔對象的一個(gè)屬性
fgColor 文檔的文本顏色(<BODY>標(biāo)記里的TEXT特性)
form 文檔中的一個(gè)窗體(<FORM>)(該屬性本身也是一個(gè)對象)
forms anay 按照其出現(xiàn)在文檔中的順序列出窗體對象的一個(gè)數(shù)組(該屬性本身也是一個(gè)對象)
lastModified 文檔最后的修改日期
linkColor 文檔的鏈接的顏色,即<BODY>標(biāo)記中的LINK特性(鏈接到用戶沒有觀察到的文檔)
link 文檔中的一個(gè)<A HREF=>標(biāo)記(該屬性本身也是一個(gè)對象)
links array 文檔中l(wèi)ink對象的一個(gè)數(shù)組,按照它們出現(xiàn)在文檔中的順序排列(該屬性本身也是一個(gè)對象)
location 當(dāng)前顯示文檔的URL。用戶不能改變document.location(因?yàn)檫@是當(dāng)前顯示文檔的位置)。但是,
可以改變 window.location (用其它文檔取代當(dāng)前文檔)window.location本身也是一個(gè)對象,而
document.location不是對象
referrer 包含鏈接的文檔的URL,用戶單擊該鏈接可到達(dá)當(dāng)前文檔
title 文檔的標(biāo)題((TITLE>)
vlinkColor 指向用戶已觀察過的文檔的鏈接文本顏色,即<BODY>標(biāo)記的VLINK特性
方法
clear 清除指定文檔的內(nèi)容
close 關(guān)閉文檔流
open 打開文檔流
write 把文本寫入文檔
writeln 把文本寫入文檔,并以換行符結(jié)尾
[window對象]
它是一個(gè)頂層對象,而不是另一個(gè)對象的屬性即瀏覽器的窗口。
屬性
defaultStatus 缺省的狀態(tài)條消息
document 當(dāng)前顯示的文檔(該屬性本身也是一個(gè)對象)
frame 窗口里的一個(gè)框架((FRAME>)(該屬性本身也是一個(gè)對象)
frames array 列舉窗口的框架對象的數(shù)組,按照這些對象在文檔中出現(xiàn)的順序列出(該屬性本身也是一個(gè)
對象)
history 窗口的歷史列表(該屬性本身也是一個(gè)對象)
length 窗口內(nèi)的框架數(shù)
location 窗口所顯示文檔的完整(絕對)URL(該屬性本身也是一個(gè)對象)不要把它與如document.location
混淆,后者是當(dāng)前顯示文檔的URL。用戶可以改變window.location(用另一個(gè)文檔取代當(dāng)前文檔),但卻不能改變
document.location (因?yàn)檫@是當(dāng)前顯示文檔的位置)
name 窗口打開時(shí),賦予該窗口的名字
opener 代表使用window.open打開當(dāng)前窗口的腳本所在的窗口(這是Netscape Navigator 3.0beta 3所引
入的一個(gè)新屬性)
parent 包含當(dāng)前框架的窗口的同義詞。frame和window對象的一個(gè)屬性
self 當(dāng)前窗口或框架的同義詞
status 狀態(tài)條中的消息
top 包含當(dāng)前框架的最頂層瀏覽器窗口的同義詞
window 當(dāng)前窗口或框架的同義詞,與self相同
方法
alert() 打開一個(gè)Alert消息框
clearTimeout() 用來終止setTimeout方法的工作
close() 關(guān)閉窗口
confirm() 打開一個(gè)Confirm消息框,用戶可以選擇OK或Cancel,如果用戶單擊OK,該方法返回true,單擊
Cancel返回false
blur() 把焦點(diǎn)從指定窗口移開(這是Netscape Navigator 3.0 beta 3引入的新方法)
focus() 把指定的窗口帶到前臺(tái)(另一個(gè)新方法)
open() 打開一個(gè)新窗口
prompt() 打開一個(gè)Prompt對話框,用戶可向該框鍵入文本,并把鍵入的文本返回到腳本
setTimeout() 等待一段指定的毫秒數(shù)時(shí)間,然后運(yùn)行指令事件處理程序事件處理程序
Onload() 頁面載入時(shí)觸發(fā)
Onunload() 頁面關(guān)閉時(shí)觸發(fā)
區(qū)別:用戶不能改變document.location(因?yàn)檫@是當(dāng)前顯示文檔的位置)。但是,可以改變window.location (用其它文檔取代當(dāng)前文檔)window.location本身也是一個(gè)對象,而document.location不是對象
相關(guān)文章
JS實(shí)現(xiàn)經(jīng)典的中國地區(qū)三級(jí)聯(lián)動(dòng)下拉菜單功能實(shí)例【測試可用】
這篇文章主要介紹了JS實(shí)現(xiàn)經(jīng)典的中國地區(qū)三級(jí)聯(lián)動(dòng)下拉菜單功能,結(jié)合完整實(shí)例形式分析了javascript基于事件響應(yīng)實(shí)現(xiàn)頁面元素動(dòng)態(tài)變換的相關(guān)操作技巧,需要的朋友可以參考下2017-06-06
JS利用window.print()實(shí)現(xiàn)網(wǎng)頁打印功能
print作為瀏覽已經(jīng)比較成熟的技術(shù)可以經(jīng)常被用來打印頁面的部分內(nèi)容。本文將在JS中調(diào)用window.print()方法實(shí)現(xiàn)網(wǎng)頁打印功能,感興趣的可以跟隨小編一起學(xué)習(xí)一下2022-04-04
關(guān)于JavaScript的with 語句的使用方法
JavaScript 有個(gè) with 關(guān)鍵字, with 語句的原本用意是為逐級(jí)的對象訪問提供命名空間式的速寫方式. 也就是在指定的代碼區(qū)域, 直接通過節(jié)點(diǎn)名稱調(diào)用對象2011-05-05
前端解決頁面請求接大規(guī)模并發(fā)問題的代碼實(shí)現(xiàn)
這篇文章主要介紹了前端解決大規(guī)模并發(fā)請求問題的多種方法,包括按需加載、分頁與無限滾動(dòng)、緩存機(jī)制、減少HTTP請求、使用CDN、前端限流、異步加載、預(yù)加載、優(yōu)化資源大小、代碼分割以及服務(wù)器端渲染或靜態(tài)站點(diǎn)生成,需要的朋友可以參考下2024-11-11
JavaScript利用split函數(shù)按規(guī)定截取字符串(獲取郵箱用戶名)
這個(gè)其實(shí)就是利用了js的split函數(shù),以@分割數(shù)組,一般用這個(gè)的地方不多,但這個(gè)思路應(yīng)用的比較廣泛。推薦大家學(xué)習(xí)。2009-12-12

