window.location和document.location的区别分析


Posted in Javascript onDecember 23, 2008

document.location 这个对象包含了当前URL的信息
location.host 获取port号
location.hostname 设置或获取主机名称
location.href 设置或获取整个URL
location.port设置或获取URL的端口号
location.search 设置或获取href属性中跟在问号后面的部分
-------------------------------------------------------------------------------
js中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而是空字符
本例返回值:""
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.href="https://3water.com"
document.location="https://3water.com"
window.location="https://3water.com"
只是属于包含的问题
一个是window,一个是document
location 是个对象 比如本页的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对象的一个属性,是显示于窗口或框架内的一个文档。

属性

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不是对象

Javascript 相关文章推荐
让你的网站可编辑的实现js代码
Oct 19 Javascript
不同的jQuery API来处理不同的浏览器事件
Dec 09 Javascript
js动态添加onload、onresize、onscroll事件(另类方法)
Dec 26 Javascript
javascript学习(二)javascript常见问题总结
Jan 02 Javascript
详细介绍8款超实用JavaScript框架
Oct 25 Javascript
JavaScript实现定时隐藏与显示图片的方法
Aug 06 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
Sep 26 Javascript
js实现本地图片文件拖拽效果
Jul 18 Javascript
代码详解javascript模块加载器
Mar 04 Javascript
详解CommonJS和ES6模块循环加载处理的区别
Dec 26 Javascript
原生js实现each方法实例代码详解
May 27 Javascript
Vue-router 报错NavigationDuplicated的解决方法
Mar 31 Javascript
javascript 硬盘序列号+其它硬件信息
Dec 23 #Javascript
js 解决“options为空或不是对象”
Dec 22 #Javascript
javascript 动态参数判空操作
Dec 22 #Javascript
Javascript 布尔型分析
Dec 22 #Javascript
通过event对象的fromElement属性解决热区设置主实体的一个bug
Dec 22 #Javascript
javascript StringBuilder类实现
Dec 22 #Javascript
关于IE7 IE8弹出窗口顶上
Dec 22 #Javascript
You might like
PHP发送AT指令实例代码
2016/05/26 PHP
jquery实现漂浮在网页右侧的qq在线客服插件示例
2013/05/13 Javascript
屏蔽IE弹出&quot;您查看的网页正在试图关闭窗口,是否关闭此窗口&quot;的方法
2013/12/31 Javascript
jQuery类选择器用法实例
2014/12/23 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
一道关于JavaScript变量作用域的面试题
2016/03/08 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
js判断出两个字符串最大子串的函数实现方法
2016/11/01 Javascript
Nodejs中解决cluster模块的多进程如何共享数据问题
2016/11/10 NodeJs
JavaScript易错知识点整理
2016/12/05 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
js实现密码强度检验
2017/01/15 Javascript
使用bootstrap-paginator.js 分页来进行ajax 异步分页请求示例
2017/03/09 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
2017/10/25 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
2019/01/06 Javascript
微信公众号平台接口开发 菜单管理的实现
2019/08/14 Javascript
JavaScript实现tab栏切换效果
2020/03/16 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
Vue自定义表单内容检查rules实例
2020/10/30 Javascript
Python中实现从目录中过滤出指定文件类型的文件
2015/02/02 Python
python实现2048小游戏
2015/03/30 Python
玩转python爬虫之URLError异常处理
2016/02/17 Python
实例探究Python以并发方式编写高性能端口扫描器的方法
2016/06/14 Python
selenium python浏览器多窗口处理代码示例
2018/01/15 Python
python判断完全平方数的方法
2018/11/13 Python
django admin后台添加导出excel功能示例代码
2019/05/15 Python
pytorch 实现tensor与numpy数组转换
2019/12/27 Python
tensorflow 分类损失函数使用小记
2020/02/18 Python
使用Python-OpenCV消除图像中孤立的小区域操作
2020/07/05 Python
免税水晶:Duty Free Crystal
2019/05/13 全球购物
2015年爱牙日活动总结
2015/03/23 职场文书
护士医德医风心得体会
2016/01/25 职场文书