美文网首页
html5 的 historyAPI

html5 的 historyAPI

作者: 疯花血月_0e96 | 来源:发表于2017-04-02 19:37 被阅读0次

      项目要求,产品的详情页打开,在首页上层显示,首页内容还能在详情的半透背景下隐约可见,但是如果要复制地址栏或者分享出去就要打开一个新的页面。在网上找些方法,发现花瓣网就是这样做的。跟后台同事商议后决定在首页做一个背景色半透的div 来异步写入详情页的内容,用htm5的history属性来改变地址栏的信息。

        点击商品详情链接时发送ajax请求,把得到的页面信息写入div中,history.pushState()方法改变浏览器的url,新的状态信息也会被加入历史状态栈;

        点击后退按钮时会触发window的popstate事件,在触发posstate事件时再把装详情页面内容的div设为隐藏,点击关闭按钮时隐藏div并把url改为首页的url。

pushState():接收3个参数:状态对象、新的状态的标题和url

第一个参数尽可能提供初始化页面状态所需的信息,第二个参数暂时还没有实现可设为空

更新当前状态可调用replaceState(),传入参数与pushState()的前两个参数相同。调用这个方法不会在历史状态栈中创建新状态,只会重写当前状态。

hashchange事件

之所以新增这个事件,Ajax的应用中,开发人员经常要利用url参数来保存状态或导航信息。

url参数列表只要变化就会调用window的hashchange事件

     


相关文章

  • html5 的 historyAPI

    项目要求,产品的详情页打开,在首页上层显示,首页内容还能在详情的半透背景下隐约可见,但是如果要复制地址栏或者分享...

  • vue-router: history

    前端路由模式有两种 一种是 hash 模式,使用 # 导航。另一种是 Html5HistoryAPI 模式,不使用...

  • HTML5语法,标签, 属性

    @(HTML5)[HTML5 语法, HTML5标签, HTML5属性] [TOC] 一 、HTML5语法,标签,...

  • HTML5常用的标签

    目录: HTML5新结构标签 HTML5新其他标签 HTML5新input类型 HTML5新属性 HTML5高级应...

  • 前端基础-HTML5

    HTML5 一 一、什么是 HTML5 HTML5 的概念与定义 定义:HTML5 定义了 HTML 标准的最新...

  • 初识HTML5

    html5 ≈ html5新增标签以及规范 html5 ≈ html5新增标签 + css3 + JavaScri...

  • HTML5基本介绍

    HTML5基本介绍 其他HTML5相关文章 HTML5学习笔记之HTML5基本介绍 HTML5学习笔记之基础标签 ...

  • HTML5学习笔记之表格标签

    HTML5学习笔记之表格标签 其他HTML5相关文章 HTML5学习笔记之HTML5基本介绍 HTML5学习笔记之...

  • HTML5学习笔记之表单标签

    HTML5学习笔记之表单标签 其他HTML5相关文章 HTML5学习笔记之HTML5基本介绍 HTML5学习笔记之...

  • HTML5学习笔记之基础标签

    HTML5学习笔记之基础标签 其他HTML5相关文章 HTML5学习笔记之HTML5基本介绍 HTML5学习笔记之...

网友评论

      本文标题:html5 的 historyAPI

      本文链接:https://www.haomeiwen.com/subject/cpxuottx.html