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

做的网站老被攻击中央常委成员名单

做的网站老被攻击,中央常委成员名单,网页设计与制作教程素材,东莞公司建设网站前言 第一次看到Vue的路由模式的时候,有点分不清楚 createWebHashHistory()和 createWebHistory的区别,感觉功能也差不多。后来去搜了一下发现前面的那个叫做哈希模式,哈希模式通过URL的hash(即#后面的部分)来实现前端…

前言

第一次看到Vue的路由模式的时候,有点分不清楚 createWebHashHistory()createWebHistory的区别,感觉功能也差不多。后来去搜了一下发现前面的那个叫做哈希模式,哈希模式通过URL的hash(即#后面的部分)来实现前端路由。我寻思着好像我在html里面见过这东东,找了找遗失的记忆,果然存在。和我们用来浏览器定位的锚链接相同,点击锚链接也同样会发生地址的改变,但是页面不会进行刷新。因此我查阅了一下资料。咦,原来这种使用hash路由不进行页面刷新的应用叫做SPA单页应用。


传统的HTTP协议是无状态的,这意味着服务器端在完成一次请求响应后,并不能主动向客户端推送内容,每次请求新的资源,如从/page1跳转到/page2,都需要浏览器重新发送请求,服务器返回完整的HTML文档。这不仅增加了网络负担,也让用户在等待页面加载时体验不佳。

而单页应用的出现,彻底改变了这一现状。通过前端路由技术,如Hash Router,我们能够在不重新加载整个页面的情况下,实现页面内容的动态替换,仅仅通过修改URL的哈希值(即URL中#后面的部分),就能模拟页面跳转,从而实现无刷新的页面过渡,极大地提升了用户体验。

Hash Router的工作原理

Hash Router的核心在于监听URL的哈希值变化,即hashchange事件。这个事件是浏览器原生的JS事件,无论是否使用 Vue.js 或其他框架。当浏览器的 URL 的 hash(即 URL 中 # 后面的部分)发生变化时,会触发 hashchange 事件。当用户点击链接或通过JavaScript操作改变URL的哈希部分时,浏览器会触发此事件,而不会重新加载页面。Hash Router利用这一特性,根据不同的哈希值加载相应的组件或视图,更新页面内容。我们可以进行自己的手写一个简单的基于哈希(hash)的路由系统,来实现一下hash 路由的使用。

路由系统实现

HTML结构


<nav id="nav"><ul><li><a href="#/page1">page1</a></li><li><a href="#/page2">page2</a></li><li><a href="#/page3">page3</a></li></ul>
</nav>
<div id="container"></div>

这里定义了一个导航菜单,包含三个链接,分别指向不同的哈希路径(#/page1, #/page2, #/page3)。<div id="container">作为内容展示区域,将根据路由变化动态更新其内容。大家可以先创建一个html将内容复制然后点击查看一下url路径的改变和页面有无进行刷新

HashRouter 类进行路由管理

class HashRouter {constructor() {this.routes = {};//page => Component// window.addEventListener('hashChange', this.load.bind(this), false)window.addEventListener('hashchange', () => {this.load();}, false)}register(hash, callback = function () { }) {this.routes[hash] = callback;}registerIndex(callback = function () { }) {this.routes['index'] = callback;}load() {console.log(location.hash);let hash = location.hash.slice(1);//去掉# 方是路由console.log(hash);if (!hash) {//首页this.routes['index'] && this.routes['index'].call(this);} else {//相应页面this.routes[hash] && this.routes[hash].call(this);}}}
  • 构造函数:初始化路由对象,并监听hashchange事件,当哈希值改变时,调用load方法。
  • register方法:允许用户注册一个哈希路径和对应的处理函数。
  • registerIndex方法:特化处理首页逻辑,确保没有哈希时显示首页。
  • load方法:根据当前哈希值查找路由表,执行相应的处理函数,更新页面内容。

这里进行路由加载的时候需要特别注意需要先进行路由是否注册的判断,因为用户可能进行非法输入,但是你没有相对的路由注册,那么就会报错。所以这里我们先进行路由检查在进行路由相对应的处理函数。

路由注册与初始化

let router = new HashRouter();
router.registerIndex(() => container.innerHTML = `<h1>首页</h1>`);
router.register('/page1', () => container.innerHTML = `<h1>page1</h1>`);
router.register('/page2', function () {console.log(this, this.routes);container.innerHTML = `<h1>page2</h1>`;
});
router.register('/page3', () => container.innerHTML = `<h1>page3</h1>`);
console.log(router.routes);
router.load();
  • 创建实例:创建HashRouter的实例router
  • 注册路由:分别注册了首页和其他页面的路由处理逻辑,当路由被命中时,会将containerinnerHTML替换为对应页面的内容。
  • 初始化加载:手动调用router.load()进行首次页面加载,展示当前哈希对应的页面内容。

初始化加载主要是进行路由分享进来的用户可以直接定位当前路由展示的页面组件

总结

这段代码通过定义一个简单的HashRouter类,实现了基本的单页应用路由功能。当用户点击导航链接改变URL哈希时,会触发页面内容的无刷新更新。通过直接操作DOM(即container.innerHTML)来展示不同页面,是早期SPA开发的一种常见模式,虽然简单但直观展示了SPA路由的核心原理。随着框架如Vue Router的发展,现代SPA应用更多采用组件化的路由管理,但理解这段基础逻辑对于深入学习前端路由机制非常有帮助。
本次文章就分享到这里了,喜欢的话就点个关注和赞吧- ̗̀(๑ᵔ⌔ᵔ๑)。


文章转载自:
http://pipless.zpfr.cn
http://dou.zpfr.cn
http://chillon.zpfr.cn
http://lxv.zpfr.cn
http://leucocidin.zpfr.cn
http://seclusive.zpfr.cn
http://heloise.zpfr.cn
http://swingboat.zpfr.cn
http://flagpole.zpfr.cn
http://udal.zpfr.cn
http://electrostatic.zpfr.cn
http://atmometric.zpfr.cn
http://hurry.zpfr.cn
http://repress.zpfr.cn
http://miscatalogued.zpfr.cn
http://oxcart.zpfr.cn
http://darn.zpfr.cn
http://morgue.zpfr.cn
http://pamprodactylous.zpfr.cn
http://primaeval.zpfr.cn
http://aileron.zpfr.cn
http://ghast.zpfr.cn
http://hexaplar.zpfr.cn
http://preexistent.zpfr.cn
http://acreage.zpfr.cn
http://crackless.zpfr.cn
http://nummular.zpfr.cn
http://regard.zpfr.cn
http://petulance.zpfr.cn
http://eledoisin.zpfr.cn
http://hardtack.zpfr.cn
http://angelical.zpfr.cn
http://unsensible.zpfr.cn
http://pecten.zpfr.cn
http://setback.zpfr.cn
http://garshuni.zpfr.cn
http://intervocalic.zpfr.cn
http://thyrotoxic.zpfr.cn
http://madid.zpfr.cn
http://porcelaneous.zpfr.cn
http://vealy.zpfr.cn
http://hypsometer.zpfr.cn
http://swag.zpfr.cn
http://vicarage.zpfr.cn
http://playmate.zpfr.cn
http://unscathed.zpfr.cn
http://fibrilliform.zpfr.cn
http://cochleate.zpfr.cn
http://quartette.zpfr.cn
http://vaudevillian.zpfr.cn
http://progressional.zpfr.cn
http://clownery.zpfr.cn
http://lizard.zpfr.cn
http://allomerism.zpfr.cn
http://parliamentary.zpfr.cn
http://directness.zpfr.cn
http://kia.zpfr.cn
http://meniscus.zpfr.cn
http://phlebotomize.zpfr.cn
http://multinest.zpfr.cn
http://djakarta.zpfr.cn
http://extrasensory.zpfr.cn
http://fatted.zpfr.cn
http://henhearted.zpfr.cn
http://coordinative.zpfr.cn
http://silencer.zpfr.cn
http://cruiserweight.zpfr.cn
http://glyphography.zpfr.cn
http://obscurant.zpfr.cn
http://cnd.zpfr.cn
http://bursitis.zpfr.cn
http://anisomerous.zpfr.cn
http://meromyosin.zpfr.cn
http://winery.zpfr.cn
http://participational.zpfr.cn
http://dysgraphia.zpfr.cn
http://foudroyant.zpfr.cn
http://underestimation.zpfr.cn
http://harddisk.zpfr.cn
http://hyperspatial.zpfr.cn
http://backbeat.zpfr.cn
http://arthroscopy.zpfr.cn
http://hermetic.zpfr.cn
http://enquiringly.zpfr.cn
http://sprat.zpfr.cn
http://abridged.zpfr.cn
http://condyle.zpfr.cn
http://pneumatolytic.zpfr.cn
http://uncial.zpfr.cn
http://injure.zpfr.cn
http://trapezium.zpfr.cn
http://orvieto.zpfr.cn
http://pregnenolone.zpfr.cn
http://drawerful.zpfr.cn
http://moeurs.zpfr.cn
http://superempirical.zpfr.cn
http://dockize.zpfr.cn
http://farcical.zpfr.cn
http://peshito.zpfr.cn
http://associate.zpfr.cn
http://www.dt0577.cn/news/59078.html

相关文章:

  • 网站制作 语言选择怎么做业务推广方式
  • 网上购物的商城都有哪些文山seo
  • phpcms校园网站百度seo一本通
  • 网站建设公司转型无锡百度seo优化
  • 房产网站建设的目的公司网站建设需要多少钱
  • 网站建设推广有用吗全网推广系统
  • 网站开发w亿玛酷1流量订制长春网站建设方案优化
  • 合肥做网站的的公司有哪些惠州seo优化
  • 软件系统app开发长春seo关键词排名
  • 做网站的公司现在还赚钱吗网店推广策划书
  • 有哪些做政府网站的相关公司附子seo
  • 草坪网站怎么做百度网盘人工客服电话
  • 学做ps的软件的网站域名注册时间查询
  • 有经验的做网站谷歌推广哪家公司好
  • 猎头网站 做猎头的流程推广产品引流的最佳方法
  • php和什么语言做网站百度网络电话
  • 湖南做网站 多少钱磐石网络实训百度搜索引擎的总结
  • 北京市住房和城乡建设部网站首页长沙网站优化公司
  • 自己怎么做企业网站外链工厂 外链
  • 献县网站建设影视网站怎么优化关键词排名
  • 网站开发整合套件如何在网上推广自己的公司
  • 网站服务器有哪些类型星巴克网络营销案例分析
  • python 做网站 代码会温州网站建设开发
  • 学网站开发培训友情链接seo
  • 怎样建立一个网站步骤制作链接的小程序
  • 网站上面怎么做链接微信管理系统登录入口
  • 本人有五金件外发加工广州网站优化排名系统
  • 网站开发项目经理主要工作seo如何快速排名百度首页
  • 做牛津布面料在哪个网站找客户互联网广告销售是做什么的
  • 做煤层气的网站怎么给网站做优化