zoukankan      html  css  js  c++  java
  • JS基础知识梳理---location()对象

    (一) 简介

    location对象是一个较为特别的对象,既是window对象的属性也是document对象的属性。location对象的用处不仅仅表现在保存着当前文档的信息,还能将URL解析成独立的片段。

    location.port;//返回当前服务器的端口号,如果不存在,返回空值
    location.hostname;//仅仅返回服务器名称
    location.host;//返回服务器的名称还有端口号(如果存在的话)
    location.href;//返回当前页面的完整地址==location.toString()
    location.pathname;//返回URL中的目录和文件名称
    location.protocol;//返回当前页使用的协议类型。http||https
    location.search;//返回URL的查询字符串,以问好开头

    (二) 方法

    1:使用assign(strUrl);立即打开新的strUrl,并在浏览器中生成一条记录。如果将location.href 或者 window.location设置成strUrl,也会调用assign()方法

    location.assign("http://www.uncle-yang.com");
    //等价于↓↓↓↓
    window.location = "http://www.uncle-yang.com";
    //等价于↓↓↓↓
    location.href = "http://www.uncle-yang.com";

    2:修改location对象的属性也可以改变当前加载的页面

    //假设初始URL为 http://www.uncle-yang.com/demo
    
    //将URL修改为 http://www.uncle-yang.com/demo/#sectionA
    location.hash = "#sectionA";
    
    //将URL修改为 http://www.uncle-yang.com/?q=name
    location.search = "?q=name";
    
    //将URL修改为 http://www.baidu.com/demo
    location.hostname = 'www.baidu/com';
    
    //将URL修改为 http://www.uncle-yang.com/index
    location.pathname = 'index';
    
    //将URL修改为 http://www.uncle-yang.com:8080/index
    location.port = '8080';

    每次修改location的属性(hash除外),页面都会以新得URL重新加载 

    3:当通过上述的任何一种方式修改URL的时候,浏览器历史记录中就会产生一条新的记录,用户可以通过点击“后退”导航的前一个页面。要禁止这种行为,可以使用replace(strURL)方法。只接受一个要打开的URL字符串,浏览器的位置会变,但是不再能回到前一个页面。

    4:当前页面重新加载。reload(boole);如果页面自上次请求没有改变过,那么会直接从缓存中读取数据。如果强制从服务器重新加载,那么就需要传递参数true;

  • 相关阅读:
    使用redis,zookeeper实现分布式锁
    基于线程池的多线程售票demo(原创)
    springboot全局异常处理
    IDEA2017.3.4破解方式及lombok图文配置详解
    LeetCode 120——三角形最小路径和
    LeetCode 1——两数之和
    LeetCode 445——两数相加 II
    在本地电脑使用远程服务器的图形界面——包括 MATLAB、PyCharm 等各种软件
    LeetCode 141——环形链表
    LeetCode 142——环形链表 II
  • 原文地址:https://www.cnblogs.com/xxyy1122/p/4887186.html
Copyright © 2011-2022 走看看