location对象其实是window对象的子对象。可以 这样使用:window.location,但是使用的时候一般省略window

location 是最有用的 BOM对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能。

应用:window.location 对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。

一. location对象的常用属性

属性 描述
host 设置或返回主机名和当前 URL 的端口号。
hostname 设置或返回当前 URL 的主机名。
href 设置或返回完整的 URL。
pathname 设置或返回当前 URL 的路径部分。
port 设置或返回当前 URL 的端口号。
protocol 设置或返回当前 URL 的协议。
search 设置或返回从问号 (?) 开始的 URL(查询部分)。

<script type="text/javascript">
      //  http://192.168.1.100:8080/JsTest/html/demo2.html?user=lisi&pwd=aaa
    document.write("protocol: " + location.protocol + "<br />");    // 协议
    document.write("hostname: " + location.hostname + "<br />");        //主机名
    document.write("host: " + location.host + "<br />");  //主机和端口
    document.write("port: " + location.port + "<br />");    //端口
    document.write("pathname: " + location.pathname + "<br />");    // 路径名
    document.write("search: " + location.search + "<br />");    // 查询参数
    document.write("href: " + location.href + "<br />");    //完整url    
</script>

二. location常用方法

属性 描述
assign(url) 加载新的文档。
reload(reforce) 重新加载当前文档。
replace(newURL) 用新的文档替换当前文档。
  1. assign(newUrl): 加载新的文档。

     <button onclick="openNewUrl();">打开xyxyxy首页</button>
     <script type="text/javascript">
         function openNewUrl () {
             location.assign("http://www.atguigu.com/");
         }
     </script>
    
  2. replace(reforce): 方法不会在 History 对象中生成一个新的记录。当使用该方法时,新的 URL 将覆盖History对象中的当前记录。按下回退键的不会返回到刚才的网页。

     <button onclick="replaceDoc();">替换当前网页</button>
     <script type="text/javascript">
         function replaceDoc () {
             location.replace("http://www.atguigu.com/");
         }
     </script>
    
  3. reload([force]) 方法用于重新加载当前文档。

    • 参数force可选,可以为true。

    • 如果该方法没有规定参数,或者参数是 false,它就会用 HTTPIf-Modified-Since 来检测服务器上的文档是否已改变。

    • 如果文档已改变,reload() 会再次下载该文档。

    • 如果文档未改变,则该方法将从缓存中装载文档。如果把该方法的参数设置为true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。

    • 总结:有参为true时,从服务器重新下载,无参从缓存中重新加载

    • 注意:reload()调用之后其后的代码有可能执行有可能不执行,所以一般放在最后

      <button onclick="reloadCurrrent();">重写加载当前网页</button>
      <script type="text/javascript">
         function reloadCurrrent () {
             location.reload(true);
         }
      </script>
      
Copyright © 李振超 2018 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-10-18 03:19:29

results matching ""

    No results matching ""