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

东莞市建设工程质监督站网站四川住建厅官方网站的网址

东莞市建设工程质监督站网站,四川住建厅官方网站的网址,东莞定制网站开发,关于做网站的书JavaScript 操作历史记录api怎样使用 JavaScript History 是 window 对象中的一个 JavaScript 对象#xff0c;它包含了关于浏览器会话历史的详细信息。你所访问过的 URL 列表将被像堆栈一样存储起来。浏览器上的返回和前进按钮使用的就是 history 的信息。 History 对象包含…JavaScript 操作历史记录api怎样使用 JavaScript  History 是 window 对象中的一个 JavaScript 对象它包含了关于浏览器会话历史的详细信息。你所访问过的 URL 列表将被像堆栈一样存储起来。浏览器上的返回和前进按钮使用的就是 history 的信息。 History 对象包含长度属性它包含了会话历史记录栈中的 URL 数量。例如如果用户在浏览器中打开一个标签页历史记录的长度将是 1新的标签页也是一个网页。然后用户输入一个网址 foo.com 并点击回车现在历史记录对象的长度将是 2, 用户转到其他页面 bar.com历史记录对象的长度将就是 3 了。 Back 和 Forward 方法 你可以使用 history 对象的 back 和 forward 方法来浏览网页。例如如果你想转到上一个页面那么可以使用 history.back() 同样的如果你想转到下一页你可以使用 history.forward() Go 方法 如果您想向前或向后移动 n 个页面那么您可以使用 go 方法 history.go(-2) // 倒退 2 页 history.go(2) // 前进 2 页 所以 history.go(1) 和 history.forward() 效果是相同的history.go(-1) 和 history.go(-1) 效果是相同的。history.go 方法的默认值为 0如果不传任何数字则当前页面会被刷新。 window.history.go(0) window.history.go() PushState 你也可以使用 pushState 和 replaceState 方法改变页面的 URL。pushState 会改变页面的 URL并将改变后的 URL 添加到 history 对象的 URL 栈顶部。语法如下 history.pushState(state, title, url) 参数 state 是状态数据它将被存储在 history.state 变量中。参数 title 是标题文本不过它对大多数浏览器都没有效果所以一般传空字符串或传 null 就可以了。 让我们在控制台中尝试一下在执行之前比如打开 baidu.com然后在控制台输入 history.pushState(123, , new-url) 执行上面的代码后它会将页面地址栏中的 URL 改为 baidu.com/new-url同时将 URL 添加到 history 对象中。此时检查 history.length 会增加 1。 除此之外我们还可以为每个 URL 存储状态当前页面的数据。在上面的例子中你会把 123 存储在 history.state 变量中当你返回到这个页面时你就可以 history.state 再次拿到到这些数据。例如 history.pushState(temp data 1, title, new-url-1) history.state //temp data 1 history.pushState(temp data 2, title, new-url-2) history.state //temp data 2 history.back() history.state // temp data 1 每当通过 pushState 返回到之前被添加到历史记录的页面时浏览器就会触发一个名为 popstate 的事件并将 state 数据作为参数。比如在浏览器打开一个新标签页进入某个网页比如 baidu.com先监听 popstate 事件 window.addEventListener(popstate, (e) console.log(e)) 然后调用 pushState history.pushState({ name: test1 }, title, test1) 然后按下返回按钮popstate 事件就会被触发你可以在监听事件中查看打印出来的数据。在打印的数据中可以找到 history.state 的值。 注册 pushState 中的 url 可以是完整的 url但必须和当前页面是相同的域名否则会抛出跨域异常。 浏览器还有一个 replaceState API和 pushState 的区别是它只改变了 URL不会将 URL 添加到历史记录这里就不再累述了。 实例演示 现在我们做一个小的网页应用这个应用将实现如下功能 显示用户列表可以通过下拉框筛选“先生”和“女士”当下列列表发生变化时URL 也会相应的变化 我们先不关心 history API先实现功能。下面是 html 关键代码 select idselectboxoption valueboth全部/optionoption valuemale先生/optionoption valuefemalt女士/option /select ul iduserslistli gendermale张先生/lili genderfemale李女士/lili genderfemale王女士/li /ul 下面是 javascript 关键代码 let selectBox document.getElementById(selectBox) let usersList document.getElementById(usersList)selectBox.addEventListener(change, onSelectBoxChange)function onSelectBoxChange(ev) {let val this.valuefilterList(val) }function filterList(val) {let users usersList.childrenfor (let i 0; i users.length; i) {let user users[i]let gender user.getAttribute(gender)if (gender val || val both) {user.style.display } else {user.style.display none}} } 实现后的效果如下 当修改下拉列表时为了使浏览器地址也发生变化需要使用 pushSate 方法 function onSelectBoxChange(ev) {let val this.valuefilterList(val)history.pushState({ gender: val }, null, val) } 此时会有个问题当我们点击前进/后退时浏览器地址变了但对应的数据却不对。因此当进行前进/后退时我们需要监听 popstate 重新过滤数据 window.addEventListener(popstate, onPopState) function onPopState(ev) {let state ev.statefilterList(state.gender) } 我们还需要处理页面刷新的问题。当刷新页面时历史记录不会改变history.state 的状态值也保持不变。所以我们可以从 history.state 中取出当前的状态数据利用 state.gender 的值就可以在 load 事件中来过虑出当前 URL 对应的用户列表 window.addEventListener(load, function () {let gender history.state ? history.state.gender : bothfilterList(gender) }) 这是个简单的示例你也可以继续进一步优化。今天的分享就到这里有问题请在下面留言哦~~
http://www.hkea.cn/news/14335878/

相关文章:

  • 地下彩票网站建设怎样做网络推广链接
  • 中文网站建设技术解决方案佛山快速排名seo
  • 网站建设语asp外贸网站建设招聘
  • 上海建设局官方网站长春网站建设58同城
  • 上海做兼职的网站黄骅港吧
  • 网站建设中gif有没有免费的网站推销产品
  • 范县网站建设费用织梦5.7cms照明灯具能源电子产品企业网站源码企业模板带后台
  • 深圳做网站的公司哪个好外贸都是在哪些网站做
  • 怎么看网站有没有被收录国内永久免费crm系统网站推荐
  • 网站建设预付怎么做微网站推广
  • 如何做教育网站如何选网站服务器
  • 开一个做网站的公司赚钱吗创新的福州网站建设
  • 一个网站的建设需要什么时候开始可以做设计兼职的网站有哪些
  • 为歌手做的个人网站网站页面设计多少钱
  • 南京哪公司建设网站做网站需要学多久
  • 设计师每天都上的网站wordpress快站
  • 怎么开发自己的网站国防教育网站建设说明书
  • 公司做网站计入什么科目东莞模板建站平台
  • 美橙建站怎么样如何优化wordpress
  • 个人主页静态网站旧域名找新域名的方法
  • 深圳建设局网站制作网页的的网站
  • 网站开发公司组织架构iis网站主目录
  • 济宁那家做网站最好wordpress 主题 设置
  • 大战网站建设wordpress电影模版
  • 展示型网站建设标准晋江市建设局网站
  • 做venn图网站网站建设对电子商务中的作用
  • 标准件做啥网站企业网站建设好的例子
  • 福州市建设管理处网站网站设计平台及开发工具
  • 科讯网站模版网做网站一定要公司备案吗
  • wordpress+瀑布流加载网站排名优化软件电话