jQuery 流行的年代,是如何做后台管理系统的页面切换功能的?

2023-05-01 10:07:01 +08:00
 manyfreebug

jQuery 流行的年代,是如何做后台管理系统的页面切换功能的?

看了一些以前的“左侧侧边栏、右侧内容区域的结构”的项目,似乎有 3 种途径:

1 、借助 iframe
    事件监听左侧侧边栏的菜单,当用户点击某个菜单项时,获取它的 href 属性值,并且将它赋值给右边内容区域的 iframe 元素的 src 属性,这样就可以实现内容页面的切换。
    
2 、借助 Ajax
	监听左侧侧边栏的点击事件,当用户点击某个菜单项时,使用 ajax 请求对应的内容页面,并将返回的数据替换右边内容区域的容器中
    
3 、不借助 js
    直接把侧边栏的菜单写在每一个 html 页面里,如果需要菜单高亮,在每个 html 页面对应的菜单里添加.active 等

这三种方式在点击菜单时,都会网络请求对应的 html 页面,而现在的 vue 、react 等框架,是不需要的。

有网络请求的情况下切换页面时观感上会没那么快,一般会用哪些手段提升体验。

5800 次点击
所在节点    JavaScript
43 条回复
anguiao
2023-05-01 10:10:03 +08:00
依稀记得有 pjax 这个东西,不过没有仔细了解过,出来干活的时候已经是 React 、Vue 的时代了。
alphat
2023-05-01 10:13:12 +08:00
a href
manyfreebug
2023-05-01 10:14:28 +08:00
@alphat 这个属于上面说的第三类:不借助 js ,把菜单写在每一个 html 页面里。
codehz
2023-05-01 10:20:29 +08:00
以前的前端开发 ide 如 frontpage 就有提供类似功能,把一个页面的一部分定义为公共组件,一改就一起改不确定底层方案是怎么实现的,我猜可能是同时修改多个文件(
ql562482472
2023-05-01 10:27:00 +08:00
服务端渲染( JSP/freemarker ),还有改写 DOM ( jquery 重新写 Dom 内容)
skylinewd
2023-05-01 10:28:42 +08:00
页面跳转加菜单高亮
neutrino
2023-05-01 10:38:23 +08:00
就 iframe 好,其他的切来切去有点问题
kop1989smurf
2023-05-01 10:59:49 +08:00
做单页面应用,切换的时候只是对应 div 的 show 与 hide 。
当然,代价就是会有 js 变量与类名的全局冲突。
tairan2006
2023-05-01 11:04:50 +08:00
单页面的话就 bootstrap + backbone
815979670
2023-05-01 11:15:09 +08:00
用 Jquery 的时候 很多项目都是后端混编的 MVC 项目,视图层和现在的前端一样也有继承等各种操作。
之前 MVC 时代,我做的是 PHP 开发,会把菜单部分单独抽出来做一个视图,然后由 layout 视图引入,在菜单视图中就可以实现根据请求的 URL 地址选中不同的菜单
onice
2023-05-01 11:29:41 +08:00
2017 年,我实习的时候,就是用的 Jquery 。当时是用的: https://jqueryui.com/
brust
2023-05-01 11:40:24 +08:00
iframe
flyqie
2023-05-01 13:11:06 +08:00
主要是 1 和 3 。

2 的话有些时候可能会出问题(隔离度不够),所以用的很少。
mingl0280
2023-05-01 13:15:52 +08:00
我以前干
mingl0280
2023-05-01 13:18:07 +08:00
我以前给某学校的 IT 打工的时候,他们校内的一些 jq 的系统是直接后端生成一段 html 然后返回给 jq ,jq 直接拿到以后替换掉显示页面内容的节点……
xbleey
2023-05-01 13:33:21 +08:00
我现在做的这个项目用的就是 iframe
roundgis
2023-05-01 14:21:58 +08:00
Dojo 那時候已經支持組件了
wellerman
2023-05-01 15:28:56 +08:00
"有网络请求的情况下切换页面时观感上会没那么快,一般会用哪些手段提升体验。" 快不快不能用感觉,要用 waterfall 的数据来对比。对于后台管理这种没有什么并发量的系统来说,同样的业务,用 react 等现代框架实现一般都慢于用 jQuery 经典技术实现。数据渲染,中间计算的代码越多就会越慢。所以现代框架通常都会有转场动画,让人产生一个流畅的错觉。比如用 jQuery + PHP 实现的管理后台 dcatadmin ,目前还没发现用 React/Vue + PHP/Java 的管理后台能比 dcatadmin 快的。
DOLLOR
2023-05-01 15:43:29 +08:00
我参与过的有两种方法。
一种就是 iframe 。
还有一种是后端渲染,拼接 html 里公共部分和各自部分。
ljrdxs
2023-05-01 15:59:47 +08:00
后端模板可以拆出共同部分。
其他页面引用它。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/936685

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX