用 adminlte 的时候,除了用 iframe,还有别的方式实现多个页面一个模板吗?

2020-06-09 13:42:34 +08:00
 hiluxi

多个页面,iframe 真不好用,各种 css 和 js 都要重新加载一遍,可是除了 iframe,还有别的方式实现多个页面公用一套模板吗?

2926 次点击
所在节点    程序员
16 条回复
o0
2020-06-09 13:48:55 +08:00
vue ?
takemeaway
2020-06-09 13:50:59 +08:00
多个页面为什么不能共用一个模板? 谁还用 iframe
hiluxi
2020-06-09 13:56:11 +08:00
@takemeaway 是,那通过什么方式公用一个模板呢? html 里除了 iframe,还有别的方式吗?
takemeaway
2020-06-09 14:07:33 +08:00
@hiluxi 模板不是随便你怎么用嘛。。。 你调用同一个 JS,CSS 不就行了?
hiluxi
2020-06-09 15:19:03 +08:00
@takemeaway 把头尾侧边栏也放在一个 js 里,然后其它页面调用么
lybcyd
2020-06-09 16:57:31 +08:00
你用的什么语言和框架,一般的模板引擎都有公共模板的功能啊,java 的话 freemarker 的宏就可以完成这个功能
flyingkid
2020-06-09 17:06:45 +08:00
history.replaceState
LukeChien
2020-06-09 18:43:14 +08:00
不会重新加载的,浏览器有缓存
hiluxi
2020-06-09 20:42:07 +08:00
@lybcyd Python, flask,有推荐的么
DOLLOR
2020-06-09 20:51:00 +08:00
用 vue 或者 react,配上前端路由,做 SPA 应用很容易实现。
lybcyd
2020-06-09 21:13:44 +08:00
@hiluxi 如果你指的是多页面共用模板,看一下 jinja 模板继承部分的文档。
https://flask.palletsprojects.com/en/1.1.x/patterns/templateinheritance/#template-inheritance
抽取一个公共的模板,其他的继承公共模板就可以了。

如果是单页面内不做跳转,那建议你干脆用三大框架做 spa 。
zhuweiyou
2020-06-09 21:16:02 +08:00
js css 有 http cache,又不会真正的重新加载,有什么大碍?
ila
2020-06-09 21:30:31 +08:00
@hiluxi jinja2
hiluxi
2020-06-09 22:33:49 +08:00
@lybcyd 多谢
hiluxi
2020-06-09 22:34:02 +08:00
@ila 同样感谢
w292614191
2020-06-10 08:49:47 +08:00
一些通用的 js 、css,引入到 common.js 中,然后有所页面引入 common.js 。如果你使用了 IDEA,直接拖动 common.js 到 html 中,会自动引入路径。

还有,2020 年的浏览器会缓存 js 、css 。除非你手动关闭了缓存。

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

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

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

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

© 2021 V2EX