V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hiluxi
V2EX  ›  程序员

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

  •  
  •   hiluxi · 2020-06-09 13:42:34 +08:00 · 2916 次点击
    这是一个创建于 1622 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    16 条回复    2020-06-10 08:49:47 +08:00
    o0
        1
    o0  
       2020-06-09 13:48:55 +08:00
    vue ?
    takemeaway
        2
    takemeaway  
       2020-06-09 13:50:59 +08:00
    多个页面为什么不能共用一个模板? 谁还用 iframe
    hiluxi
        3
    hiluxi  
    OP
       2020-06-09 13:56:11 +08:00 via iPhone
    @takemeaway 是,那通过什么方式公用一个模板呢? html 里除了 iframe,还有别的方式吗?
    takemeaway
        4
    takemeaway  
       2020-06-09 14:07:33 +08:00
    @hiluxi 模板不是随便你怎么用嘛。。。 你调用同一个 JS,CSS 不就行了?
    hiluxi
        5
    hiluxi  
    OP
       2020-06-09 15:19:03 +08:00 via iPhone
    @takemeaway 把头尾侧边栏也放在一个 js 里,然后其它页面调用么
    lybcyd
        6
    lybcyd  
       2020-06-09 16:57:31 +08:00
    你用的什么语言和框架,一般的模板引擎都有公共模板的功能啊,java 的话 freemarker 的宏就可以完成这个功能
    flyingkid
        7
    flyingkid  
       2020-06-09 17:06:45 +08:00
    history.replaceState
    LukeChien
        8
    LukeChien  
       2020-06-09 18:43:14 +08:00 via Android
    不会重新加载的,浏览器有缓存
    hiluxi
        9
    hiluxi  
    OP
       2020-06-09 20:42:07 +08:00 via iPhone
    @lybcyd Python, flask,有推荐的么
    DOLLOR
        10
    DOLLOR  
       2020-06-09 20:51:00 +08:00
    用 vue 或者 react,配上前端路由,做 SPA 应用很容易实现。
    lybcyd
        11
    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
        12
    zhuweiyou  
       2020-06-09 21:16:02 +08:00
    js css 有 http cache,又不会真正的重新加载,有什么大碍?
    ila
        13
    ila  
       2020-06-09 21:30:31 +08:00 via Android
    @hiluxi jinja2
    hiluxi
        14
    hiluxi  
    OP
       2020-06-09 22:33:49 +08:00 via iPhone
    @lybcyd 多谢
    hiluxi
        15
    hiluxi  
    OP
       2020-06-09 22:34:02 +08:00 via iPhone
    @ila 同样感谢
    w292614191
        16
    w292614191  
       2020-06-10 08:49:47 +08:00
    一些通用的 js 、css,引入到 common.js 中,然后有所页面引入 common.js 。如果你使用了 IDEA,直接拖动 common.js 到 html 中,会自动引入路径。

    还有,2020 年的浏览器会缓存 js 、css 。除非你手动关闭了缓存。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3543 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:47 · PVG 12:47 · LAX 20:47 · JFK 23:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.