JavaScript教程:location对象

说明

location 对象包含有关当前 URL 的信息。

location 对象是 window 对象的一部分,可通过 window.location 或 location 访问该对象

属性

href

设置或获取当前 url 的全路径。最常用,一般用于 网页跳转

跳转到新页面,可以 后退,如下:

<input type="button" value="点击" id="btn">

<script>
    document.getElementById("btn").onclick = function(){
        location.href = 'http://www.baidu.com'
    }
</script>

其他

  • protocol:设置或获取当前 url 的请求协议。如:http:
  • host:设置或获取当前 url 的域名、端口。如: 127.0.0.1:8020
  • hostname:设置或获取当前 url 的域名。如: 127.0.0.1
  • port :设置或获取当前 url 的端口。 如: 80
  • pathname :设置或获取当前 url 的请求资源
  • search:设置或获取当前 url 的参数,? 后面的部分(含?)
  • location.hash:获取 # 后面的部分

例子

http://www.example.com:8080/test.php?user=admin&pwd=admin#login

得到整个如上的完整url,用:location.href;

得到传输协议http:,用:`location.protocol;·

得到主机名连同端口www.example.com:8080,用:location.host;

得到主机名 www.example.com,用:location.hostname;

得到端口号 8080,用:location.port;

得到主机后、? 之前的部分 /test.php,用:location.pathname;

得到 ? 之后,#之前的部分 ?user=admin&pwd=admin,用: location.search;

得到 # 之后的部分 #login,用 location.hash

方法

  • assign() 载入一个新的文档,浏览器可以 后退,等同于 location.href 跳转页面
  • replace() 用新的文档替换当前文档,类似 location.href 跳转页面,但 不能后退
  • reload() 重新载入当前文档

assign()

跳转页面,浏览器可以 后退,等同于 location.href 跳转页面

例子

<input type="button" value="点击" id="btn">

<script>
    document.getElementById("btn").onclick = function(){
        window.location.assign("http://www.baidu.com")
    }
</script>

replace()

用新的文档替换当前文档,相当于 跳转页面,但浏览器 不可以 后退,清空历史记录了

例子

创建 1.html,内容如下:

<button onclick="jump()">跳转</button>
<script>
    function jump(){
        location.replace('result.html')
    }
</script>

创建 result.html ,内容如下:

结果页面

在 1.html 中,点击按钮,跳转到 result.html 中

关键:浏览器历史记录中,没有 1.html

https://blog.csdn.net/qq_35393693/article/details/81448214


原文出处:/show_1IX3BNjsu2S5.html