浅谈网站无刷新更新技术,基于hash路由的实现。

时间: 2017-10-31阅读: 1863标签: 跳转

现在为了提高网站的用户体验,如添加页面切换动画,减少页面加载,很多网站为此都采用了无刷新技术来加载页面内容。目前很多框架都是实现了这一点来开发单页应用,比如angular,vue,react等,这篇文章将简单的介绍无刷新技术的一些实现方式。

hash路由的实现 

hash是指url带 # 号的形式,采用这种方式方式兼容性比较好。我们只需要改变‘#’后面的内容,更新URL是不会引起页面跳转的。例如:

<a href="#/index">index</a>
<a href="#/about">about</a>

当点击了a标签后,url将会改为:域名/#index的样子,这里我们只需要通过js来监听URL的改变,如下:

window.addEventListener('hashchange',callback);

当监听到路由变化后,我们需要根据路由的变化通过callback回调函数来映射不同的页面,这里需要注意的在callback中不要去操作url,否则会出现死循环。下一步我们对路由进行注册,不同的路由执行不同的事情:

var routers=[
	{path:'#index',component:function(){
		console.log('index')
	}},
	{path:'#about',component:function(){
		console.log('about')
	}},
];

最后把routers和callback关联起来

function callback(){
	for(r in routers){
		if(routers[r].path==location.hash){
			routers[r].component();
		}
	}
}

到这里点击不同的链接,我们在控制台可以看到对应的输出。然后里面的内容就需要我们异步去加载数据,然后渲染成dom,追加到页面即可。类似于

<!--html结构--->
<div id="main"></div>

<script>

var template='<div>渲染后的模板</div>'; document.getElementById('main').innerHTML=template;

</script>

这就是一个最简单的通过hash路由来实现页面的无刷新更新页面的。写的很简单,也很丑陋,但是思路就是这样。





站长推荐

1.阿里云: 本站目前使用的是阿里云主机,安全/可靠/稳定。点击领取2000元代金券、了解最新阿里云产品的各种优惠活动点击进入

2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各类产品的最新活动,优惠券领取点击进入

3.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/38

javascript如何实现页面跳转?

在JavaScript中有好几种方法可以实现页面跳转,重定向到另一个网页,下面本篇文章就来给大家介绍一些使用JavaScript实现页面跳转的方法,希望对大家有所帮助。

移动端 location.href 无法成功跳转页面

最近做的移动端页面在请求成功后要跳转页面,通过location.href实现的跳转。但同事在测试时,安卓机可以成功跳转,苹果IOS确无法成功跳转。

微信小程序路由跳转

wx.switchTab(Object object)这里的tabBar是底下的导航栏指定的页面,跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面;wx.reLaunch(Object object)基础库 1.1.0 开始支持,低版本需做兼容处理。

vue路由使用router.push进行路由跳转

route-link是在html中静态定义的,也可以在代码中动态跳转:注意绝对不能写href=,这样执行click跳转后,又会执行href跳转到当前页面push也可以直接使用path:

angular怎么做前端页面跳转?

Angular中每个页面的显示都需要三个要素:页面的代码,控制器和页面的URL;当要在同一个页面上呈现不同的视图时,这就需要配置路由啦;angular.js已经为我们封装了一个独立的路由工具ng-route;ng-route是靠URL来改变显示的视图的

js页面跳转另一页的方法——location.href和location.replace用法和区别

window.location.href方式用于跳转到指定页面地址,location.replace将目前浏览器的地址替换掉,调用这个方法的网页,将不会被写入浏览记录。

js刷新当前页面,js实现页面自动刷新、跳转的方法总汇

Javascript刷新当前页面:history.go(0)、location.reload()、location=location、location.assign(location)、document.execCommand(Refresh)、location.replace(location)等,Javascript页面自动刷新、跳转,如每隔多少秒刷新一次页面.

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!

文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全运营推广