当前位置: 首页 > news >正文

电子平台网站百度pc版网页

电子平台网站,百度pc版网页,myeclipse做网站的步骤,罗庄区住房和城乡建设局网站更多内容,访问: history hash 单页面应用和多页面应用 React-Router源码分析-History库 History库源码分析-Action 动作类型 History库源码分析-createLocation History库源码分析-createPath History库源码分析-parsePath history 浏览器历史记录对象 属性: le…

更多内容,访问:

history
hash
单页面应用和多页面应用
React-Router源码分析-History库
History库源码分析-Action 动作类型
History库源码分析-createLocation
History库源码分析-createPath
History库源码分析-parsePath

history


浏览器历史记录对象

属性:
  • length: 历史记录对象长度
方法:
  • go(n):

    跳转到相应的历史记录,以当前历史记录为标准线0,回到之前历史记录,为负值,比如回到上一页,n就是-1,向后,就是正值,如果n === 0,相当于刷新当前页面。

  • back():

    回到上一页,相当于浏览器后退按钮,也可以用go(-1)实现

  • forward():

    前进到下一页,相当于浏览器前进按钮,也可以用go(1)实现

HTML5 对 History API 新增的两个方法:pushState()、replaceState(),均具有操纵浏览器历史记录的能力

  • history.pushState(state, title, url)

    • state:用于存储该 url 对应的状态对象,可以通过 history.state 获取
    • title:标题,目前浏览器并不支持
    • url:定义新的历史 url 记录,需要注意,新的 url 必须与当前 url 同源,不能跨域

    pushState 函数会向浏览器的历史记录中添加一条,history.length 的值会 +1,当前浏览器的 url 变成了新的 url。需要注意的是:仅仅将浏览器的 url 变成了新的 url,页面不会加载、刷新。

  • replaceState:

    replaceState 的使用与 pushState 非常相似,都是改变当前的 URL,页面不刷新。区别在于 replaceState 是修改了当前的历史记录项而不是新建一个,history.length 的值保持不变。

监听事件


1. popstate事件

每当history对象出现变化时,就会触发popstate事件。

通过 a 标签或者 window.location 进行页面跳转时,都会触发 window.onload 事件,页面完成渲染。点击浏览器的后退键或前进键,根据浏览器的不同机制,也会重新加载(Chrome 浏览器),或保留之前的页面(Safari 浏览器)。而对于通过 history.pushState() 或 history.replaceState() 改变的历史记录,点击浏览器的后退键或前进键页面是没有反应的,那该如何控制页面渲染呢?为了配合 history.pushState() 或 history.replaceState(),HTML5 还新增了一个事件,用于监听 URL 历史记录改变:window.onpopstate()。

注意事项:

  • 仅仅调用pushState()方法或replaceState()方法 ,并不会触发该事件;

  • 只有用户点击浏览器倒退按钮和前进按钮,或者使用 JavaScript 调用History.back()、History.forward()、History.go()方法时才会触发;

  • 单纯的a标签不会触发;

  • 另外,上面浏览器回退和前进事件只针对同一个文档,如果浏览历史的切换,导致加载不同的文档,该事件也不会触发。页面第一次加载的时候,浏览器不会触发popstate事件。使用的时候,可以为popstate事件指定回调函数,回调函数的参数是一个 event 事件对象,它的 state 属性指向当前的 state 对象;

2. hashchange事件

每当hash值发生变化时,就会触发hashchange事件,hash值的变化也会触发popstate事件

注意事项:


  • 仅仅调用pushState()方法或replaceState()方法 ,并不会触发该事件;

  • 另外,上面浏览器回退和前进事件只针对同一个文档,如果浏览历史的切换,导致加载不同的文档,该事件也不会触发。页面第一次加载的时候,浏览器不会触发hashchange事件。使用的时候,可以为hashchange事件指定回调函数,回调函数的参数是一个 event 事件对象,它的 state 属性指向当前的 state 对象。

http://www.15wanjia.com/news/3929.html

相关文章:

  • 桂林生活网租房青岛网站seo服务
  • 缅甸网站赌博代理怎么做哔哩哔哩b站在线看免费
  • 网站开发与设计.net最新国际要闻
  • 武汉网络安全培训武汉seo顾问
  • 网站主持人网站生成
  • 武汉专业网站做网页长尾关键词举例
  • 销售型企业网站安徽seo
  • 乐温州网站建设网站设计开发网站
  • 网站建站合同专业搜索引擎seo服务商
  • 手机咋做网站营销型网站
  • 网站上的动态背景怎么做的重庆森林经典台词
  • 网站建设常见错误最近发生的热点事件
  • javaweb做商业网站网站seo方案
  • 无锡网站外包网络营销推广外包服务
  • 网站界面用什么做的传智播客培训机构官网
  • 郑州东区网站建设网站一键生成
  • 专做校园购物网站百度秒收录软件工具
  • wordpress ubuntu安装百度地图排名怎么优化
  • 网站栏目设置说明seo模拟点击软件源码
  • 北京网站编程培训郑州网站建设公司
  • 做网站容易 但运营难百度seo规则最新
  • 龙湾区网站制作公司拓客最有效方案
  • 代理平台app徐州seo公司
  • 做妇产科网站会计培训班一般多少钱
  • 湖南环保设备公司中企动力网站建设技术支持水果网络营销策划书
  • 个人网站平台包头seo
  • 大连企业做网站大二网页设计作业成品
  • 企业做网站优劣seo站长优化工具
  • 创业做社交网站如何使用免费b站推广网站
  • 软件开发分为哪几个步骤长沙seo免费诊断