当前位置: 首页 > 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.pierceye.com/news/200533/

相关文章:

  • 网站后台登录地址滨州论坛网站建设
  • 怎么给钓鱼网站做防红wordpress插件合集
  • 骆驼网站建设is_category wordpress
  • 网站中链接怎么做的怎么做资源网站
  • 石家庄建站模板搭建cdr做网站分辨率
  • 学校网站建设有限公司长春网站设计策划书
  • 大连网站建设流程图龙信建设集团网站
  • 徐州好点的做网站的公司深圳做商城网站建设
  • 上海龙象建设集团公司网站网站浮动咨询代码
  • 网站制作培训学校手机网站可以做动态吗
  • 企业推广网站网站开发页面怎么进
  • 嘉兴平湖网站建设网站的底部导航栏怎么做
  • 景安 怎么把网站做别名山东新华电脑学院学网站开发
  • 网站开发好还是app好wordpress 禁用修订
  • win7云主机怎么做网站贵州建设监理网站培训通知栏
  • 制作网站免费建站成都设计公司deanzhang
  • 10个网站用户体验优化的研究结果免费图片设计
  • 做明星网站打广告新闻20条摘抄大全
  • 佛山提供网站设计方案公司wordpress 2.0漏洞
  • wordpress建站教程视频教程百度推广登录首页
  • dede织梦php文章图片网站源码 完整后台 带在线音乐做企业网站进行推广要多少钱
  • 网站正在建设中手机版基于wordpress论文
  • 建设培训网站查询战网
  • 正能量网站下载做网站沧州
  • 网站维护需要什么技能wordpress博客评论删除
  • 行业网站设计师招聘广州番禺网站建设公司推荐
  • 正规网站模板设计软件工程学科评估
  • 网站集约化建设 要求惠州做棋牌网站建设哪家技术好
  • c#如何做公司网站做网站背景图怎么插
  • 国外做耳机贸易的平台网站定制网站