【问题标题】:How to make a modular website without using php?如何在不使用 php 的情况下制作模块化网站?
【发布时间】:2015-04-14 12:35:48
【问题描述】:

例如,使用 php 会将其添加到 index.php:

<?php include("footer.php"); ?>

并在footer.php中添加html代码。

但是否可以只使用 html 而不使用 php 或 iframe 来做同样的事情?

【问题讨论】:

  • 在 Javascript 中有很多方法可以做到这一点。可能是服务器端包括。可能是 Web 组件。这里没有明确的答案。
  • 一个例子可以是一个答案。 :(

标签: html web modularity modular


【解决方案1】:

我认为在纯html中,唯一的方法是使用iframe,对不起!

【讨论】:

  • 但是你可以把你想要的所有html放在footer.php中(里面没有php!)并包含它,它可以工作,但是你需要.PHP
【解决方案2】:

您可以尝试使用 localStorage :https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API

Web Storage API 提供了浏览器存储键/值对的机制,比使用 cookie 更直观。

这个想法的一个例子 (显然 SO 不允许在 sn-ps 它可以从这里测试/复制https://codepen.io/gc-nomade/pen/oGorNw)

window.onload = function() {
  var loaded = localStorage.getItem("header");
  if (loaded) {// if already set, load it from visitor 
    var header = localStorage.getItem("header");
    var aside = localStorage.getItem("aside");
    var footer = localStorage.getItem("footer");
    document.getElementById("headers").innerHTML = header;
    document.getElementById("aside").innerHTML = aside;
    document.getElementById("footer").innerHTML = footer;
  } else {// if first visit, load and store basic content once
    var top = "<h1>hello</h1>";
    var side = '<ul><li><a href="#">link</a>';
    var bottom = "<p>My footer loaded via local storage </p>";
    localStorage.setItem("header", top);
    localStorage.setItem("aside", side);
    localStorage.setItem("footer", bottom);
  }
};
body {
  margin: 0;
  display: flex;
  flex-flow: column;
  height: 100vh;
  background: crimson;
}

main {
  flex: 1;
  display: flex;
  box-shadow: 2px;
}

aside {
  width: 200px;
  border: solid 2px;
  background: tomato;
}

footer,
header {
  background: lightblue;
  box-shadow: 0 0 0 2px;
  text-align: center;
}

aside img {
  max-width: 50%;
  display: block;
  margin: 5vh auto;
}
<header id="headers"></header>
<main>
  <aside id="aside"></aside>
  <section> page content</section>
</main>
<footer id="footer"></footer>

【讨论】:

    猜你喜欢
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-29
    • 2023-04-11
    • 1970-01-01
    • 2018-09-23
    • 2012-11-07
    相关资源
    最近更新 更多