python切换前端的iframe页面_Iframe实现单页面多tab切换界面无刷新

该项目在已有的MVC框架上,通过Iframe和JavaScript实现单页面多tab切换,避免页面全刷新。文章介绍了利用window.history.pushState进行路由管理,以及处理浏览器刷新时的界面状态,确保正确返回首页。
摘要由CSDN通过智能技术生成

项目需求:需要在原MVC项目上实现单页面多tab切换,局部刷新功能。

痛点:原MVC项目菜单栏使用的是a标签,利用a标签的href属性跳转到对应界面,所以导致每个界面都得重新加载一遍;项目早已上线 正常运转,大改框架代价比较大,只得另辟蹊径。

思路:通过点击菜单,动态增加Iframe,利用Iframe的src属性,将子页面与母板页结合,再通过控制Iframe的显隐,实现界面的切换,另外利用history增加路由管理功能。

原MVC项目上效果实现后,自己花时间整理了一版Html+Jq实现的例子,并整理出有关Iframe和history路由的有关知识点,还有一些实现过程中遇到的小坑,供大家参考!

废话少说,先上效果图

关于history方法,网上已经有很多解释了,本文Demo中主要使用了

window.history.pushState(state, title, url);

state:一个与指定网址相关的状态对象,popstate事件触发时,该对象会传入回调函数。如果不需要这个对象,此处可以填null。可用它来传一些数据

title:新页面的标题,但是所有浏览器目前都忽略这个值,因此这里可以填null。

url:新的网址,必须与当前页面处在同一个域。浏览器的地址栏将显示这个网址。

//监听浏览器前进后退事件

window.addEventListener("popstate", function (e) {

consol

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值