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

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="http://www.jb51.net"
document.location="http://www.jb51.net"
window.location="http://www.jb51.net"
只是属于包含的问题
一个是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不是对象

(0)

相关推荐

  • javascript 打开页面window.location和window.open的区别

    window.location = "http://www.xxxxxxxx.net" 跳转后有后退功能 其实应该是  window.location.hrefwindow.location.replace("http://www.xxxxxxxx.net") 跳转后没有后退功能 window.open("http://www.xxxxxxxx.net") 要新的窗口打开链接 这个一般用于简单的弹出页面,现在基本上都被屏蔽掉了

  • javascript中的window.location.search方法简介

    window.location.search方法是截取当前url中"?"后面的字符串, 例如:index.php?act=doctor,截取后的字符串就是act=doctor

  • javascript使用location.search的示例

    复制代码 代码如下: function GetRequest() {         var url = location.search; //获取url中"?"符后的字串         var theRequest = new Object();         if (url.indexOf("?") != -1) {                var str = url.substr(1);                strs = str.split

  • window.location.hash 属性使用说明

    比如http://domain/#admin的location.hash="#admin".利用这个属性值可以做一个非常有意义的事情. 很多人都喜欢收藏网页,以便于以后的浏览.不过对于Ajax页面来说的话,一般用一个页面来处理所有的事务,也就是说,如果你浏览到一个Ajax页面里边有意思的内容,想将它收藏起来,可是地址只有一个呀,下次你打开这个地址,还是得像以往一样不断地去点击网页,找到你钟情的那个页面.另外的话,浏览器上的"前进""后退"按钮也会

  • js通过location.search来获取页面传来的参数

    这篇文章主要介绍了通过window.location.search来获取页面传来的参数,经测试是OK的 function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i"); var r = window.location.search.substr(1).match(reg); if (r!=null) ret

  • JS教程:window.location使用方法的区别介绍

    window.location.href=&http://www.webjx.com/javascript/ldquo;url":改变url地址;window.location.replace("url"):将地址替换成新url,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过"前进"和"后 退"来访问已经被替换的URL,这个特点对于做一些过渡页面非常有用!window.lo

  • 详谈js中window.location.search的用法和作用

    用该属性获取页面 URL 地址: window.location 对象所包含的属性 属性 描述 hash 从井号 (#) 开始的 URL(锚) host 主机名和当前 URL 的端口号 hostname 当前 URL 的主机名 href 完整的 URL pathname 当前 URL 的路径部分 port 当前 URL 的端口号 protocol 当前 URL 的协议 search 从问号 (?) 开始的 URL(查询部分) 如图就是取出url中的参数. JS 脚本捕获页面 GET 方式请求的参

  • window.onload与$(document).ready()的区别分析

    本文实例讲述了window.onload与$(document).ready()的区别.分享给大家供大家参考.具体分析如下: window.onload是Javascript中得函数,意思是:等待网页中所有内容加载完毕之后(包括图片): 而$(documetn).ready()是在网页中的所有DOM结构绘制完毕之后就可以执行了,可能有与DOM关联的元素还没有加载完,所以相比之下更快一些: 比如举个简单的例子: window.onload=function(){ alert('I am No.1'

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

    document.location 这个对象包含了当前URL的信息 location.host 获取port号 location.hostname 设置或获取主机名称 location.href 设置或获取整个URL location.port设置或获取URL的端口号 location.search 设置或获取href属性中跟在问号后面的部分 -----------------------------------------------------------------------------

  • 全面解析jQuery中的$(window)与$(document)的用法区别

    [window对象] 它是一个顶层对象,而不是另一个对象的属性,即表示浏览器中打开的窗口.   1.属性 defaultStatus 缺省的状态条消息 document 当前显示的文档(该属性本身也是一个对象) frame 窗口里的一个框架((FRAME>)(该属性本身也是一个对象) frames array 列举窗口的框架对象的数组,按照这些对象在文档中出现的顺序列出(该属性本身也是一个 对象) history 窗口的历史列表(该属性本身也是一个对象) length 窗口内的框架数 locat

  • 关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别

    "window.location.href"."location.href"是本页面跳转 "parent.location.href"是上一层页面跳转 "top.location.href"是最外层的页面跳转 举例说明: 如果A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,如果D中js这样写 "window.location.href"."locatio

  • Document.location.href和.replace的区别示例介绍

    document.location.href和document.location.replace都可以实现从A页面切换到B页面,但他们的区别是: 用document.location.href切换后,可以退回到原页面. 而用document.location.replace切换后,不可以通过"后退"退回到原页面. 关于document.location.href或其他可回退的切换方式,我还发现一个细节, 用个例子来说明: 假设有A.htm B.htm C.htm三个页面 A.htm里有

  • js location.replace与location.reload的区别

    location.reload相当于我们按F5,页面在服务器端已经存在,isPostBack页面不会从服务器端重新生成,然后返回客户端 会在浏览器的历史浏览记录中增加一条记录 location.replace 页面会从服务器端重新创建,not ispostback,这个是用新的url代替原Url,把Histrory里面url也替换成了新的Url window.location.href,本层页面跳转 首先,定义一个iframe 复制代码 代码如下: <iframe method="post

  • JQ中$(window).load和$(document).ready区别与执行顺序

    JQ中的$(document).ready()大家应该用的非常多,基本每个JS脚本中都有这个函数的出现有时甚至会出现多个,那么另一个加载函数$(window).load相对出现的次数就很少了,下面为大家介绍一下两者的区别与他们的执行顺序 一般情况下一个页面响应加载的基本顺序是:域名解析 -> 加载html -> 加载js和css -> 加载图片等其他信息. 那么我们在编写JS脚本时什么情况下使用$(document).ready()又在什么情况下使用$(window).load呢,我们先

  • 小发现之浅谈location.search与location.hash的问题

    背景 用过Vue Router的童鞋应该对路由传参的方式多多少少有些印象,Vue Router支持两种传参方式:query与params:其中query方式就是动态地在路由url后面追加参数,就是http的get请求方式:那Vue Router与location的search和hash有什么关系呢? 正题 首先我们先来看一下query方式传参 路由A // 跳转到detail路由页 let query = { name: abc, age: 23 } this.$router.push({nam

  • js中document.write和document.writeln的区别

    两者都是JavaScript向客户端输出的方法,对比可知写法上的差别是一个ln--line的简写,换言之,writeln 方法是以行输出的,相当于在?winte?输出后加上一个换行符 注意:document.write方法可以用在两方面:在网页载入过程中用实时脚本创建网页内容以及用延时脚本创建本窗口或新窗口的内容.该方法需要一个字符串参数,它是写到窗口或框架中的HTML内容.该字符串参数可以是变量或值为字符串的表达式,写入内容常常包含HTML标记. 记住,载入网页后,浏览器输出流将自动关闭.在些

  • JavaScript中Object、map、weakmap的区别分析

    前言 ECMAScript 6以前,在JavaScript中实现"键/值"式存储可以使用Object来方便高效地完成,也就是使用对象属性作为键,再使用属性来引用值.但这种实现并非没有问题,为此TC39委员会专门为"键/值"存储定义了一个规范.作为ECMAScript 6的新增特性,Map是一种新的集合类型,为这门语言带来了真正的键/值存储机制.Map的大多数特性都可以通过Object类型实现,但二者之间还是存在一些细微的差异.具体实践中使用哪一个,还是值得细细甄别.

随机推荐