zoukankan      html  css  js  c++  java
  • location

    BOM中最有用的对象之一是location对象,它是window对象和document对象的属性(对此没有什么标准,导致了一些混乱)。location对象表示载入窗口的URL,此外,它还可以解析URL

    q  hash——如果URL包含#,该方法将返回该符号之后的内容(例如,http://www.some-
    where.com/index#selection1
    hash等于"#selection1")。

    q  host——服务器的名字(如www.wrox.com)。

    q  hostname——通常等于host,有时会省略前面的www

    q  href——当前载入的页面的完整URL

    q  pathname——URL中主机名后的部分。例如,http://www.somewhere.com/pictures/
    index.htm
    pathname"/pictures/index.htm"

    q  port——URL中声明的请求的端口。默认情况下,大多数URL没有端口信息,所以该属性通常是空白的。像http://www.somewhere.com:8080/index.htm这样的URLport属性等于8080

    q  protocol——URL中使用的协议,即双斜杠(//)之前的部分。例如,http://www.wrox.com中的protocol属性等于http:ftp://www.wrox.comprotocol属性等于ftp:

    q  search——执行GET请求的URL中的问号(?)后的部分,又称为查询字符串。例如,http://www.somewhere.com/search.htm?term=javascript中的search属性等于
    ?term=javascript

    location.href是最常用的属性,用于获取或设置窗口的URL(在这一点上,它类似于document.URL属性)。改变该属性的值,就可导航到新页面:

    采用这种方式导航,新地址将被加到浏览器的历史栈中,放在前一个页面后,意味着Back按钮会导航到调用了该属性的页面。

    assign()方法实现的是同样的操作:

    这两种方法都可以采用,不过大多数开发者选用location.href属性,因为它更精确地表达了代码的意图。

    如果不想让包含脚本的页面能从浏览器历史中访问,可使用replace()方法。该方法所作的操作与assign()方法一样,但它多了一步操作,即从浏览器历史中删除包含脚本的页面,这样就不能通过浏览器的BackForward按钮访问它了。你可以自己试试看:

    把这个页面载入浏览器中,等它导航到新页面后,再点击Back按钮。

    location对象还有个reload()方法,可重新载入当前页面。reload()方法有两种模式,即从浏览器缓存中重载,或从服务器端重载。究竟采用哪种模式由该方法的参数值决定,如果是false,则从缓存中载入,如果是true,则从服务器端载入(如果省略参数,默认值为false)。

    因此,要从服务器端重载当前页面,可以使用下面的代码:

    要从缓存重载当前页面,可以采用下面两行代码中的任意一行:

    reload()方法调用后的代码可能被执行,也可能不被执行,这由网络延迟和系统资源等因素决定。因此,最好把reload()调用放在最后一行。

    location对象的最后一个方法是toString(),它仅返回location.href的值。因此,下面两行代码是等价的:

    本节采用示例介绍了location对象。记住,location对象是window对象和document对象的属性,所以window.locationdocument.location互相等价,可以交换使用。

  • 相关阅读:
    yii中的若干问题
    http请求头和响应头
    http 协议
    Jmeter -- 对并发认识的误区
    Linux top常用操作
    linux 查看系统性能
    Jmeter -- 循环控制器和线程并发(关注执行顺序)
    Jmeter -- 定时器
    性能指标:TPS 并发数 响应时间 QPS
    Jmeter -- 元件的作用域与执行顺序
  • 原文地址:https://www.cnblogs.com/zwl12549/p/614089.html
Copyright © 2011-2022 走看看