window、location、history、navigato
作者:
行走的蛋白质 | 来源:发表于
2020-06-23 23:05 被阅读0次window
- window.open(URL,[name,features,replace]) 打开一个新的浏览器窗口或查找一个已命名的窗口
- window.close() 关闭窗口
- window.confirm(content) 打开一个确认弹窗,点击确定或者取消返回 Boolean 值
- window.prompt(label, defaultValue) 打开一个输入框,点击确定返回文本内容,点击取消返回 null
location
属性
- location.href: 整个 URL
- location.protocol:当前 URL 的协议,包括冒号
- location.host:主机,包括冒号和端口
- location.hostname:主机名,不包括端口
- location.port:端口号
- location.pathname:URL 的路径部分,从根路径 / 开始
- location.search:查询字符串部分,从问号 ? 开始
- location.hash:片段字符串部分,从 # 开始
- location.username:域名前面的用户名
- location.password:域名前面的密码
- location.origin:URL 的协议、主机名和端口
方法
- Location.assign() 方法接受一个 URL 字符串作为参数,使得浏览器立刻跳转到新的 URL。
- Location.replace() 方法接受一个 URL 字符串作为参数,使得浏览器立刻跳转到新的 URL。区别于改变 href 和调用 assign 方法不会产生新的历史记录,因此无法后退回来。
- Location.reload() 方法使得浏览器重新加载当前网址,相当于按下浏览器的刷新按钮。
- Location.toString()方法返回整个 URL 字符串
URL 的编码和解码
- encodeURI() 方法用于转码整个 URL。它的参数是一个字符串,代表整个 URL。它会将元字符和语义字符之外的字符,都进行转义。
- encodeURIComponent() 方法用于转码 URL 的组成部分,会转码除了语义字符之外的所有字符,即元字符也会被转码。所以,它不能用于转码整个 URL。它接受一个参数,就是 URL 的片段。
- decodeURI() 方法用于整个 URL 的解码。它是 encodeURI() 方法的逆运算。它接受一个参数,就是转码后的 URL。
- decodeURIComponent() 用于URL 片段的解码。它是 encodeURIComponent() 方法的逆运算。它接受一个参数,就是转码后的 URL 片段。
history
前进后退
- history.back() 后退到上一个页面
- history.forward() 进入历史的下一个页面
- history.go(step) step为正前进step个页面,step为负后退step和页面
操作历史
- history.pushState(state, title, url) 不刷新页面并添加一条历史记录,title 表示下个页面的标题 ( 貌似目前所有浏览器都忽略 state 和 title ) url 表示新的地址。
- history.replaceState(state, title, url) 替换当前地址栏里的 url,state 和 title 会被所有浏览器忽略。
方法监听
- popstate,前进或者后退时会触发。pushState 和 replaceState 不会触发此事件。
- hashchange,当前页面的hash值发生变化时触发。
navigator
- navigator.userAgent 判断浏览器类型等信息
screen
- 获取窗口文档显示区的宽高:window.innerHeight、window.innerWidth
- 获取显示屏幕的高度和宽度:screen.availHeight、window.awailWidth
本文标题:window、location、history、navigato
本文链接:https://www.haomeiwen.com/subject/onnkfktx.html
网友评论