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

河北做网站哪家公司好网站建设内容录入论文

河北做网站哪家公司好,网站建设内容录入论文,搜索引擎有哪些技巧,服装设计网站哪个好1. 前言 在之前整理BOM的五个对象时#xff0c;提到#xff1a; location.hash发生改变后#xff0c;会触发hashchange事件#xff0c;且history栈中会增加一条记录#xff0c;但页面不会重新加载——实现HashRouter的关键history.pushState(state, , URL)执行后#xf…1. 前言 在之前整理BOM的五个对象时提到 location.hash发生改变后会触发hashchange事件且history栈中会增加一条记录但页面不会重新加载——实现HashRouter的关键history.pushState(state, , URL)执行后history栈中会增加一条记录但页面不会重新加载回退history.back()或history.go(-1)会触发popstate事件location.pathname发生改变——实现BrowserRouter的关键 本篇通过举例方式详细描述实现的过程。 2. HashRouter的原理 2.1 原理要点 通过a元素href属性修改URL的hash值或location.hash#/xxx修改或前进后退修改location.hash发生改变页面不会重新加载location.hash发生改变URL也会改变hash是URL的一部分新URL被推入history栈中location.hash发生改变会触发window的hashchange事件通过给window.onhashchange绑定事件处理函数监听hash变化根据hash值选择渲染的组件。 注根据hash值变化渲染组件不会影响hash原有作为锚点的功能锚点功能根据#后面字符串滚动到对应id的元素 2.2 示例源码 !DOCTYPE html htmlheadmeta charsetUTF-8titleHash Router/title/headbodya href#/userGo user/aa href#/infoGo info/adiv idroot/div!-- div styleheight: 600px;/divdiv id/info/div --scriptlet root document.getElementById(root);window.onhashchange function(event) {if(window.location.hash #/user) {root.innerHTML label用户名input value小明 placeholderuser name//label;} else {root.innerHTML label年龄13岁/label;}}/script/body /html 3. BrowserRouter的原理 3.1 原理要点 window不支持onpushstate事件需要为window构造onpushstate事件并绑定事件处理函数重写history.pushState保证执行history.pushState就会触发onpushstate事件可以为菜单项绑定click事件处理函数执行重写的history.pushState(state,title,url)修改URL执行重写的history.pushState页面不会重新加载但location.pathname发生改变并触发window的onpushstate事件通过window.onpushstate的事件处理函数监听pathname变化根据pathname值选择渲染的组件前进和后退会改变URL页面不会重新加载location.pathname发生改变并触发window的onpopstate事件通过window.onpopstate绑定的事件处理函数监听pathname变化根据pathname值选择渲染的组件。 3.2 示例源码 !DOCTYPE html htmlheadmeta charsetUTF-8titleHash Router/title/headbodydiv idroot/divscriptlet root document.getElementById(root);window.onpushstate function(state, title, url) {console.dir({type: onpushstate, state, pathname: url});render(url);}// 修改history.pushState方法将window.onpushstate事件绑入bindPushstate(window.history);function bindPushstate(history) {let pushState history.pushState;history.pushState function(state, title, url) {if(typeof window.onpushstate function) {window.onpushstate(state, title, url);}return pushState.apply(history, arguments);}} window.onpopstate function(event) {const pathname window.location.pathname;console.dir({type: event.type, state: event.state,pathname});render(pathname);}function render(pathname) {if(pathname /user) {root.innerHTML label用户名input value小明 placeholderuser name//label;} else if(pathname /info) {root.innerHTML label年龄13岁/label;} else {root.innerHTML label需要填写个人信息/label;}}setTimeout(() {window.history.pushState({ page: 1 }, user, /user);}, 2000);setTimeout(() {window.history.pushState({ page: 2 }, info, /info);}, 4000);setTimeout(() {window.history.pushState({ page: 3 }, help, /help);}, 6000);/script/body /html 4. 总结 再牛的建筑都离不开一块一块砖瓦学到很多高大上的框架和上层API时再回过头来看基础会更加深对框架和上层API的理解。 注以上如有不合理之处还请帮忙指出大家一起交流学习~
http://www.zqtcl.cn/news/200533/

相关文章:

  • 巴中建设厅网站电话seo是网络优化吗
  • 中国做投资的网站做网站的公司怎么推广
  • 专业的广州微网站建设移动应用开发干什么的
  • 网站运营有什么用常熟智能网站开发
  • 如何组建做网站的团队绍兴网站建设推广
  • 资讯类响应式网站模板深圳网站建设培训机构
  • 电子商务网站功能设计3d动画制作过程
  • 随机网站生成器win7asp+sql server 2008做网站
  • 金本网站建设设计江苏建筑业网
  • 校园网站建设的作用淄博网站建设网站推广优化
  • 域名过期了怎么办怎么找回网站校友录网站开发设计
  • 医疗 企业 网站建设seo网络优化是什么工作
  • e时代速递搜索引擎网站建设aso关键词搜索优化
  • 产品单页营销型网站模板龙华网站建设深圳信科
  • 建网站平台要多少钱投资公司取名字大全
  • 建设网站需要哪些设备重庆本地建站
  • 学做家常菜去那个网站专业制作网站制作
  • 合肥网站建设公网站程序如何上传
  • 潍坊网站建设招聘官方网站建设 在线磐石网络
  • 校友网站建设开一个网站的流程
  • 商业门户网站是什么意思哪家培训机构学校好
  • 青岛企业网站制作seo排名优化培训网站
  • 2018做网站还是app上海搜索seo
  • 网站建设用模板好吗罗湖网站制作费用
  • 网站图片延时加载app推广视频
  • 郑州设计师网站个人搭建网站要多少钱
  • 网站制作成品下载wordpress怎么更改样式
  • 河北省城乡和建设厅网站首页网站维护属于什么部门
  • 西安建网站公司哪家好网站导航条设计欣赏
  • 张家港网站网络优化济南网站建设0531soso