location 对象window 对象给我们提供了一个location属性用于获取或设置窗体的URL,并且可以用于解析URL。因为这个属性返回的是一个对象,所以我们将这个属性也称为location对象。

URL 统一资源定位符是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含信息指出文件的位置以及浏览器应该怎么处理它。
URL的一般语法格式为:

protocol://host[:port]/path/[?query]#fragment
http://www.itcast.cn/index.html?name=andy&age=18#link

组成 说明
protocol 通信协议 常用的http,ftp,maito等
host 主机(域名)www.baidu.com
port 端口号 可选,省略时使用方案的默认端口 如http的默认端口为80
path 路径 由 零或多个‘/’符号隔开的字符串,一般用来表示主机上的一个目录或文件地址
query 参数 以键值对的形式,通过&符号分割开来
fragment 片段 #后面内容 常见于链接 锚点

location对象的属性

location对象属性 返回值
location.href 获取或者设置 整个URL
location.host 返回主机(域名)www.baidu.com
location.port 返回端口号 如果未写返回 空字符串
location.pathname 返回路径
location.search 返回参数
location.hash 返回片段 #后面内容 常见于链接 锚点
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><button>click</button><span></span><script>// location.href// var btn = document.querySelector('button');// var span = document.querySelector('span');// btn.addEventListener('click', function() {//     // console.log(location.href);//     location.href = 'http://www.baidu.com'// })// 倒计时 5 秒跳转页面// setInterval(time, 1000);// var second = 5;// function time() {//     if (second == 0) {//         location.href = 'http://www.baidu.com'//     }//     span.innerHTML = '再等' + second + '秒跳转页面';//     second--;// }// location.search 获取URL参数数据// var btn = document.querySelector('button');// var span = document.querySelector('span');// btn.addEventListener('click', function() {//     // console.log(location.search);//     var names = location.search.split('=');//     console.log(names);//     span.innerHTML = names[1]// });// location.assign() | location.replace() | location.reload()var btn = document.querySelector('button');var span = document.querySelector('span');// btn.addEventListener('click', function() {// 记录浏览器历实,具有后退功能// location.assign('http://www.baidu.com');// 不记录浏览器历实,没有后退功能// location.replace('http://www.baidu.com');// 重新加载页面,相当于刷新按钮或者F5, 如果参数为 true 强制刷新 ctrl + F5// location.reload(true);// });</script>
</body></html>

navigator对象包含有关浏览器的信息,它有很多属性,我们最常用的是 userAgent,该属性可以返回由客户机发送服务器的 user-agent 头部的值。

下面前端代码可以判断用户那个终端打开页面,实现跳转。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><script>if ((navigator.userAgent.match(/(phone|pad|pod|iphone|ipod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennce|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phoone)/i))) {window.location.href = ''; // 手机} else {window.location.href = ''; // 电脑}</script>
</body></html>

history对象与浏览器历实记录进行交互。该对象包含用户(在浏览器窗口中)访问过的URL。

// window.historyvar btn = document.querySelector('button');btn.addEventListener('click', function() {// history.forward(); 前进// history.back(); 后退// history.go(); 参数 1 前进一个页面, -1 后退一个页面})

window.location对象、window.navigator对象、window.history对象相关推荐

  1. window.location.reload(false);window.location.reload(true);history.Go(0)区别

    在日常工作中常用的页面刷新方式的区别:  1 window.location.reload(false);  先说说window.location.reload(false);当我们window.lo ...

  2. JavaScript-筑基(二十五)navigator对象(判断页面打开终端)、history对象

    navigator对象包含有关游览器的信息,它有很多属性,我们常用的是userAgent,该属性可以返回由客户机发送服务器的user-agent头部的值. 下面前端代码可以判断用户那个终端打开页面,实 ...

  3. vf更改当前路径_这份 window.location 备忘单,让你更有条理解决地址路径问题!...

    如果你想获取站点的URL信息,那么window.location对象什么很适合你!使用其属性获取有关当前页面地址的信息,或使用其方法进行某些页面重定向或刷新? https://segmentfault ...

  4. window.location跳转和window.open跳转以及从url地址栏获取参数

    路由跳转 1.window.location跳转和window.open跳转 a.跳转 a.在当前页面跳转 window.location = "/xxx/xxx/xxx?a=" ...

  5. window.location.Reload()和window.location.href 区别

    首先介绍两个方法的语法: reload 方法,该方法强迫浏览器刷新当前页面. 语法:location.reload([bForceGet])参数: bForceGet, 可选参数, 默认为 false ...

  6. 用Location对象和history对象修改页面url

    用Location对象和history对象修改页面url 1.通过hash属性更改url Location 对象包含有关当前 URL 的信息 Location.hash是URL的锚部分 Locatio ...

  7. asp.net mvc 地址栏传输信息报错:window.location.pathname

    asp.net mvc 地址栏传输信息报错:window.location.pathname 前端cshtml代码内容 代码片. // 页面跳转 window.location.pathname = ...

  8. BOM函数之history对象

    前面的话 history对象保存着用户上网的历史记录,从窗口被打开的那一刻算起.由于安全方面的考虑,开发人员无法得到用户浏览器的URL,但借由用户访问过的页面列表,可以在不知道实际URL的情况下实现后 ...

  9. History 对象的pushState()和replaceState()

    今天在看vue-router的时候发现,vue-router源码用到了history.pushState()和history.replaceState(),故,仔细看一下. 一. 概述 window. ...

最新文章

  1. WPF窗口长时间无人操作鼠标自动隐藏
  2. 定档12月22日!《黑客帝国4》王者归来,再掀矩阵革命
  3. shiro登陆流程源码详解
  4. Java实现素数的判断
  5. SDUT OJ -2892 A
  6. android wifi信号强度命令,Android显示wifi信号强度以及周边信号的代码
  7. 路飞学城—Python—爬虫实战密训班 第三章
  8. 计算机视觉算法_RANSAC 估计
  9. vue axios ts 封装流文件下载方法
  10. Mysql经典面试题及答案
  11. R、Rstudio、Rtools的下载与安装
  12. 小甲鱼老师目前所有视频教程下载地址
  13. 客厅中式装修风格 温馨舒适的生活格调
  14. c++ 输入一个日期,计算出该日期是这一年中的第几天(switch语句)
  15. WPF如何实现一款类似360安全卫士界面的程序?(共享源码!)
  16. 服务器修改mysql登录密码忘了怎么办,云服务器mysql密码重置密码忘记了
  17. Efficient Cinimatic Lighting(Jeremy Vickery)-1 Basic theory
  18. 学习笔记(15):R语言入门基础-增加行或列
  19. SNA(社会网络分析)——三种中心度总结
  20. 没有任何绘画基础的人如何自学绘画?

热门文章

  1. gflags的使用实例(转载)
  2. GARFIELD@05-01-2005
  3. UVA11878 Homework Checker【文本】
  4. HDU2523 SORT AGAIN【计数排序】
  5. Bailian2885 计算反序数【进制】
  6. CCF201812-1 小明上学(100分)【序列处理】
  7. 整数运算、浮点运算与溢出
  8. 动态规划 —— 阶乘
  9. Windows 环境变量的两点说明
  10. Python 科学计算—— 数值问题